Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

Node.jsのassert.fail()関数


アサートモジュールは、関数アサーションに使用されるさまざまな機能を提供します。 Assert.fail()は、何もチェックせずにアサーションエラーをスローします。生成されるエラーは、デフォルトのメッセージまたは関数で渡されるメッセージのいずれかです。

構文

assert.fail(message)

パラメータ

上記のパラメータは以下のように記述されます-

  • メッセージ –これはオプションのパラメーターです。これは、関数の実行時に出力されるユーザー定義のメッセージです。

アサートモジュールのインストール

npm install assert

assertモジュールは組み込みのNode.jsモジュールであるため、この手順をスキップすることもできます。次のコマンドを使用してアサートバージョンを確認し、最新のアサートモジュールを取得できます。

npm version assert

関数にモジュールをインポートする

const assert = require("assert").strict;

– assertFail.jsという名前のファイルを作成し、以下のコードスニペットをコピーします。ファイルを作成したら、以下のコマンドを使用してこのコードを実行します。

node assertFail.js

assertFail.js

// Requiring the module
const assert = require('assert').strict;

// Function call
try {
   assert.fail("Error Occured");
} catch(error) {
   console.log("Error:", error)
}

出力

C:\home\node>> node assertFail.js
Error: { AssertionError [ERR_ASSERTION]: Error Occured
      at Object. (/home/node/mysql-test/assert.js:6:9)
      at Module._compile (internal/modules/cjs/loader.js:778:30)
      at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
      at Module.load (internal/modules/cjs/loader.js:653:32)
      at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
      at Function.Module._load (internal/modules/cjs/loader.js:585:3)
      at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
      at startup (internal/bootstrap/node.js:283:19)
      at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
   generatedMessage: false,
   name: 'AssertionError [ERR_ASSERTION]',
   code: 'ERR_ASSERTION',
   actual: undefined,
   expected: undefined,
   operator: 'fail' }

もう1つの例を見てみましょう。

// Requiring the module
const assert = require('assert').strict;

// Function call
try {
   assert.fail(new TypeError("Custom Defined Error: Not Supported"));
} catch(error) {
   console.log("Error:", error)
}

出力

C:\home\node>> node assertFail.js
Error: TypeError: Custom Defined Error: Not Supported
   at Object. (/home/node/mysql-test/assert.js:6:14)
   at Module._compile (internal/modules/cjs/loader.js:778:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
   at Module.load (internal/modules/cjs/loader.js:653:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
   at Function.Module._load (internal/modules/cjs/loader.js:585:3)
   at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
   at startup (internal/bootstrap/node.js:283:19)
   at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

上記の例では、カスタムエラー(タイプエラー)を渡したことがわかります。アサーションエラーの代わりにエラーのインスタンスが渡された場合、カスタムエラーが渡されます。


  1. JavaScriptの「コンストラクター関数ではない」エラーを説明しますか?

    コンストラクターではないコンストラクターとしてオブジェクトまたは変数を使用すると、コンストラクターではない関数エラーが発生します。 以下は、JavaScriptのコンストラクター関数エラーではないためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-sca

  2. Windows10でのLoadLibrary関数エラーSTATUS_DLL_NOT_FOUND

    今日の投稿では、LoadLibrary関数がなぜあるのかを探ります。 STATUS_DLL_NOT_FOUNDを返します Windows10の偽装スレッドでエラーが発生しました。この問題を解決するための回避策も示します。 なりすましとは、スレッドを所有するプロセスとは異なるセキュリティ情報を使用して実行するスレッドの機能です。 LoadLibrary関数エラーステータスDLLが見つかりません エラーコード0xC0000135– STATUS_DLL_NOT_FOUND LoadLibrary関数を使用してDLLをロードするときに、プロセストークン自体へのダイナミックリンクラ