Js中最常見的異常捕捉 TryCatch


 今天檢查網頁的時候因為一段Js報錯 導致下面的js沒有執行(一個js動態添加的彈窗沒有出現)

原因是因為

 一個屬性本身是undefined 找不到 無法給他賦值 
這里的原因很簡單 也已經修改好了

但是這里我不禁思索 如果能提前避免這樣的錯誤發生而導致不必要的損失豈不美哉?

好了try catch就為我們提供了這種捕捉未來可能發生的錯誤並提示 在你可能預測到此方法會報錯像這樣

try {
yourFn() ;//maybe errored
} catch (e) { console.log(e.name + ": " + e.message); }
otherFn() ;

這里就算是你的yourFnf方法報錯也不會 影響下面代碼的執行 就是這么easy!

下面介紹的是可能遇到的系統異常
  • EvalError: raised when an error occurs executing code in eval()   當一個錯誤發生在()執行的代碼
  • RangeError: raised when a numeric variable or parameter is outside of its valid range  當一個數值變量或參數超出其有效范圍時引發的
  • ReferenceError: raised when de-referencing an invalid reference  無效的飲用
  • SyntaxError: raised when a syntax error occurs while parsing code in eval()  當發生語法錯誤在()解析代碼,而
  • TypeError: raised when a variable or parameter is not a valid type  當一個變量或參數不是一個有效的類型時引發
  • URIError: raised when encodeURI() or decodeURI() are passed invalid parameters  當encodeuri()或decodeuri()傳遞了無效的參數

    上面的六種異常對象都繼承自Error對象。他們都支持以下兩種構造方法:

 

new Error();
new Error("異常信息");

  這樣手動拋出異常

 

try {
 throw new Error("Whoops!");
} catch (e) {
 alert(e.name + ": " + e.message);
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM