2008年12月12日

Error

Error | 六種錯誤分類

Error 用來產生錯誤物件實體。

Error | constructor | message | name | toSource | toString | valueOf
new Error([訊息])

可選擇性的設定訊息參數;訊息是可讀的錯誤說明。

錯誤進一步分為六類物件型態:EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError。

使用者可以在發生錯誤時,拋出 Error 物件實體。

  • 程式用法:

    <script type='text/javascript'>
    try
    {
      throw new Error('發生錯誤');
      document.write('沒被執行');
    }
    catch(e)
    {
      document.write( e.message );
    }
    </script>

  • 執行結果:

    發生錯誤

程式執行發生錯誤時,系統會自動拋出 Error 物件。

  • 程式用法:

    <script type='text/javascript'>
    try
    {
      document.wri('被執行');
      document.write('沒被執行');
    }
    catch(e)
    {
      document.write( e.toString() );
    }
    </script>

  • 執行結果:

    TypeError: document.wri is not a function

Error 物件的特徵
constructor

此特徵存有產生物件實體的函式其位置。

  • 程式用法:

    <script type='text/javascript'>
    var e=new Error('輸入錯誤');
    document.write( e.constructor );
    </script>

  • 執行結果:

    function Error() { [native code] }

message

此特徵存有可讀的錯誤訊息。

  • 程式用法:

    <script type='text/javascript'>
    document.write( e.message );
    </script>

  • 執行結果:

    輸入錯誤

name

此特徵存有錯誤的型態。

  • 程式用法:

    <script type='text/javascript'>
    document.write( e.name );
    </script>

  • 執行結果:

    Error

Error 物件的方法
toSource()

此方法傳回物件實體的源碼。只有 Firefox 支援;IE, Safari, Chrome 無此項。

  • 程式用法:

    <script type='text/javascript'>
    document.write( e.toSource() );
    </script>

  • 執行結果:

toString()

此方法傳回物件實體的字串。

  • 程式用法:

    <script type='text/javascript'>
    document.write( e.toString() );
    </script>

  • 執行結果:

    Error: 輸入錯誤

  • IE 的輸出是 "[object Error]";Firefox, Safari, Chrome 是 "Error: 輸入錯誤"。
valueOf()

此方法傳回物件實體的字串。

  • 程式用法:

    <script type='text/javascript'>
    document.write( e.valueOf() );
    </script>

  • 執行結果:

    Error: 輸入錯誤

  • IE 的輸出是 "[object Error]";Firefox, Safari, Chrome 是 "Error: 輸入錯誤"。

©2008-2009 by ant2legs, All Rights Reserved. ant2legs 擁有其製作的文章,圖片與程式的著作權,所有權利保留。