2017-02-23 6 views
0

私はそうのように簡略化機能でError()オブジェクトを使用してエラーを投げる:エラーからエラー名とメッセージを取得Javascriptを()オブジェクト

function errorExample() { 
    try { 
    throw new Error('ConnectionError', 'cannot connect to the internet') 
    } 
    catch(error) { 
    console.log(error 
    } 
} 

が、私は内からエラー名とメッセージにアクセスできるようにしたいですcatchステートメント

Mozilla Developer Networkによると、私はerror.proptotype.nameとでアクセスできますが、上記のコードでは定義されていません。

これを行う方法はありますか?ありがとう。

+0

を参照してみてください[カスタムエラータイプ](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Ty pes)@あなたが自分の名前が必要な場合はMDN。 –

答えて

3

マニュアルを誤解しています。

Error.prototypeのフィールドはすべてErrorインスタンスに存在します。 errorErrorコンストラクタのインスタンスなので、error.messageと書くことができます。デフォルトでは

0

エラーの名前は 'エラー' である、あなたはそれを上書きすることができます。

function errorExample() { 
    try { 
    var e = new Error('cannot connect to the internet'); 
    e.name = 'ConnectionError'; 
    throw e; 
    } 
    catch(error) { 
    console.log(error.name); 
    console.log(error.message); 
    } 
} 

参照:Error.prototype.name

0

この

function errorExample() { 
    try { 
    throw new Error('ConnectionError', 'cannot connect to the internet'); 
    } 
    catch(error) { 
    console.log(error.message); 
    console.log(error.name); 
    } 
} 
errorExample() ; 
関連する問題