Error 物件
包含錯誤的相關資訊。 Error 建構函式 (Constructor) 有兩種形式。
function Error([description : String ])
function Error([number : Number [, description : String ]])
引數
number
選擇項。 指派給錯誤的數值,指定 number 屬性 (Property) 的值。 如果省略會是零。description
選擇項。 說明錯誤的簡短字串,指定 description 和 message 屬性的初始值。 如果省略會是空字串。
備註
Error 物件可以使用上面顯示的建構函式來明確建立。 您可以將屬性加入 Error 物件來擴充它的功能。 每當執行階段錯誤發生時,就會建立 Error 物件來說明錯誤。
通常,Error 物件會由 throw 陳述式產生,而且應該會由 try...catch 陳述式攔截。 您可以使用 throw 陳述式將任何型別的資料當成錯誤一般來傳遞,而 throw 陳述式不會隱含的建立 Error 物件。 然而,藉著擲回 Error 物件,catch 區塊可以使用類似的方式處理 JScript 執行階段錯誤和使用者定義錯誤。
Error 物件具有四個內建屬性:錯誤的說明 (description 和 message 屬性)、錯誤代碼 (number 屬性) 和錯誤名稱 (name 屬性)。 description 和 message 屬性參考相同的訊息;description 屬性提供向後相容性,而 message 屬性則符合 ECMA 標準。
錯誤代碼是一個 32 位元的值。 前 16 個位元代表設備代碼 (Facility Code),後 16 個位元才是實際的錯誤代碼。 若要讀取實際的錯誤程式碼,請使用 & (位元 And) 運算子,以結合 number 屬性與十六進位數字 0xFFFF。
警告
嘗試在 ASP.NET 網頁中使用 JScript Error 物件,可能會產生非預定的結果。 這是因為 JScript Error 物件與 ASP.NET 網頁的 Error 事件之間可能有語意模糊之處。 請使用 System.Exception 類別,而不要用 Error 物件處理 ASP.NET 網頁中的錯誤。
注意事項 |
---|
只有 JScript 提供 Error 物件。 因為它不是繼承自 .NET Framework 型別,所以其他 Common Language Specification (CLS) 語言無法使用。 因此,當您為符合 CLS 標準方法的參數和傳回型別加註型別時,請務必使用的是 System.Exception 資料型別而不要使用 Error 物件。 但是,您可以使用 Error 物件,為參數或傳回型別以外的識別項加註型別。 如需詳細資訊,請參閱撰寫符合 CLS 標準的程式碼。 |
範例
下列範例說明 Error 物件的用法。
try {
// Throw an error.
throw new Error(42,"No question");
} catch(e) {
print(e)
// Extract the error code from the error number.
print(e.number & 0xFFFF)
print(e.description)
}
本程式碼的輸出為:
Error: No question
42
No question