これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

WebAssembly.CompileError() コンストラクタは WebAssembly CompileError オブジェクトを生成します。WebAssembly のデコードやバリデーション中にエラーが発生したことを示します。

構文

new WebAssembly.CompileError(message, fileName, lineNumber)

パラメータ

message Optional
ヒューマンリーダブルなエラーの説明。
fileName Optional
例外の原因となったコードを含むファイルの名前。
lineNumber Optional
例外の原因となったコードの行番号。

プロパティ

CompileError コンストラクタは自身のプロパティを持ちませんが、プロトタイプチェーンを通していくつかのプロパティを継承します。

WebAssembly.CompileError.prototype.constructor
インスタンスのプロトタイプを生成した関数を示します。
WebAssembly.CompileError.prototype.message
エラーメッセージ。ECMA-262では URIError は自身の message プロパティを提供する必要がありますが、SpiderMonkey では Error.prototype.message を継承します。
WebAssembly.CompileError.prototype.name
エラー名。Error から継承されます。
WebAssembly.CompileError.prototype.fileName
このエラーを発生させたファイルのパス。 Error から継承されます。
WebAssembly.CompileError.prototype.lineNumber
このエラーを発生させたファイルの行番号。Error から継承されます。
WebAssembly.CompileError.prototype.columnNumber
このエラーが発生した行の列番号。Error から継承されます。
WebAssembly.CompileError.prototype.stack
スタックトレース。Error から継承されます。

メソッド

CompileError コンストラクタは自身のメソッドを持ちませんが、プロトタイプチェーンを通していくつかのメソッドを継承します。

WebAssembly.CompileError.prototype.toSource()
同じエラーを評価できるコードを返します。Error から継承されます。
WebAssembly.CompileError.prototype.toString()
指定された Error オブジェクトを表す文字列を返します。Error から継承されます。

以下のスニペットで CompileError インスタンスを生成して、詳細をコンソールに表示します。

try {
  throw new WebAssembly.CompileError('Hello', 'someFile', 10);
} catch (e) {
  console.log(e instanceof CompileError); // true
  console.log(e.message);                 // "Hello"
  console.log(e.name);                    // "CompileError"
  console.log(e.fileName);                // "someFile"
  console.log(e.lineNumber);              // 10
  console.log(e.columnNumber);            // 0
  console.log(e.stack);                   // コードが実行された場所を返す
}

仕様

仕様 策定状況 コメント
WebAssembly JavaScript Interface
WebAssembly constructors の定義
草案 WebAssembly の初回ドラフト定義。
ECMAScript Latest Draft (ECMA-262)
NativeError の定義
ドラフト 標準の NativeError 型の定義。

ブラウザ実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
基本対応Chrome 完全対応 57Edge 完全対応 16Firefox 完全対応 52
補足
完全対応 52
補足
補足 Disabled in the Firefox 52 Extended Support Release (ESR).
IE 未対応 なしOpera 完全対応 44Safari 完全対応 11WebView Android 完全対応 57Chrome Android 完全対応 57Edge Mobile 完全対応 あり
無効
完全対応 あり
無効
無効 This feature is behind the Experimental JavaScript Features preference.
Firefox Android 完全対応 52
補足
完全対応 52
補足
補足 Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android ? Safari iOS 完全対応 11Samsung Internet Android 完全対応 7.0nodejs 完全対応 8.0.0

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: ukyo
最終更新者: ukyo,