Error 物件
更新:2007 年 11 月
包含錯誤的相關資訊。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