ECMAScript 核心 Error 類別

ECMAScript 核心錯誤類別包括 Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError 和 URIError 類別。這些類別全部都位於命名空間的最上層。

類別名稱

說明

備註

Error

Error 類別可以用於擲出例外,同時也是在 ECMAScript 中定義之其它例外類別 (如 EvalError、RangeError、ReferenceError、SyntaxError、TypeError 和 URIError) 的基底類別。

Error 類別可以做為 Flash Player 所擲回之所有執行階段錯誤的基底類別,同時也是任何自訂錯誤類別的建議基底類別。

EvalError

當有任何參數傳遞至 Function 類別的建構函式,或是使用者程式碼呼叫 eval() 函數時,就會擲回 EvalError 例外。

ActionScript 3.0 移除了對 eval() 函數的支援,因此嘗試使用函數時,便會擲回錯誤。

Flash Player 之前的版本使用的是 eval() 函數,依名稱來存取變數、屬性、物件或影片片段。

RangeError

當數值位於可接受的範例之外時,便會擲回 RangeError 例外。

例如,假設延遲是負值,或者不是有限的值,就會擲回 RangeError。若您嘗試在無效的深度新增顯示物件,也會擲回 RangeError。

ReferenceError

嘗試對密封 (非動態) 的物件參考未定義的屬性時,便會擲回 ReferenceError 例外。當嘗試存取的屬性為 undefined 時,ActionScript 3.0 之前的 ActionScript 編譯器版本並不會擲回錯誤。然而,由於新的 ECMAScript 規格指定在上述情況下要擲回錯誤,因此 ActionScript 3.0 會擲回 ReferenceError 例外。

未定義的變數例外會指向可能的錯誤,以協助您改善軟體品質。然而,如果您不習慣初始化變數的要求,ActionScript 這項新的行為可能會要求您略微變更您的編碼習慣。

SyntaxError

ActionScript 程式碼發生剖析錯誤時,會擲回 SyntaxError 例外。

如需詳細資訊,請參閱 ECMAScript (ECMA-262) 第 3 版 (除非第 4 版已經問世) 語言規格第 15.11.6.4 節,網址是 www.ecma-international.org/publications/standards/Ecma-262.htm,以及 ECMAScript for XML (E4X) 規格 (ECMA-357 第 2 版) 第 10.3.1 節,網址是 www.ecma-international.org/publications/standards/Ecma-357.htm

在下列情況下會擲回 SyntaxError:

  • ActionScript 會在 RegExp 類別剖析無效的規則運算式時,擲出 SyntaxError 例外。
  • XMLDocument 類別剖析無效的 XML 時,ActionScript 便會擲回 SyntaxError 例外。

TypeError

當運算元的實際類型不同於預期的類型時,便會擲回 TypeError 例外。

如需詳細資訊,請參閱 ECMAScript 規格第 15.11.6.5 節,網址是 www.ecma-international.org/publications/standards/Ecma-262.htm,以及 E4X 規格第 10.3 節,網址是 www.ecma-international.org/publications/standards/Ecma-357.htm

在下列情況下會擲回 TypeError:

  • 無法將函數或方法的實際參數強制轉型為正式的參數類型。
  • 將某個值指派給變數,而且無法將該值強制轉型為變數的類型。
  • is 或 instanceof 運算子的右側不是有效的類型。
  • 以不合規定的方式使用 super 關鍵字。
  • 屬性查閱造成一個以上的繫結,因而模糊不清。
  • 對不相容的物件叫用方法。例如,如果將 RegExp 類別中的某個方法「移植」到一般物件,然後再叫用此方法,便會擲回 TypeError 例外。

URIError

當其中一個全域 URI 處理函數以不相容於其定義的方式使用時,便會擲回 URIError 例外。

如需詳細資訊,請參閱 ECMAScript 規格第 15.11.6.6 章,網址是 www.ecma-international.org/publications/standards/Ecma-262.htm

在下列情況下會擲回 URIError:

將無效的 URI 指定給期待有效 URI 的 Flash Player API 函數,例如 Socket.connect()


Flash CS3

 

有新的意見加入至這個頁面時,傳送電子郵件給我 | 意見報告

目前頁面: http://livedocs.adobe.com/flash/9.0_tw/main/00000106.html