4

次のコードを試しました

try {
  alertt("dddd");
} catch (e) {
    console.log(e.stack);
}

Google Chrome と Mozilla Firefox でスタック トレースが発生します。ただし、Internet Explorer ではundefinedが返されます。

Internet Explorer でスタック トレースを取得する方法はありますか?

4

3 に答える 3

-1

MSDNのドキュメントに記載e.descriptionされているように使用できます:

于 2013-11-05T09:01:50.577 に答える
-2

構文 :

errorObj = new Error()
errorObj = new Error([number])
errorObj = new Error([number[, description]])

パラメータの説明:

エラーオブジェクト

Required. The variable name to which the Error object is assigned. The variable assignment is omitted when you create the error using a throw statement.

番号

Optional. Numeric value assigned to an error. Zero if omitted.

説明

Optional. Brief string that describes an error. Empty string if omitted.

function checkInput(x) {
    try
    {
        if (isNaN(parseInt(x))) {
            throw new Error("Input is not a number.");
        }
    }
    catch(e)
    {
        document.write(e.description);
    }
}

checkInput("not a number");

注 : 実行時エラーが発生するたびに、エラーを説明するために Error オブジェクトのインスタンスが作成されます。error (description property)このインスタンスには、との説明を含む 2 つの固有のプロパティがありますerror number (number property)。詳細については、http://msdn.microsoft.com/en-us/library/ie/1dk3k160%28v=vs.94%29.aspxを参照してください。

エラー番号は 32 ビット値です。上位 16 ビット ワードは機能コードで、下位ワードは実際のエラー コードです。

于 2013-11-05T09:03:13.113 に答える