try catch 錯誤處理 也可以用於解決瀏覽器相容性問題 Error物件
阿新 • • 發佈:2019-01-30
<script> try{ // var abc = {}; //這裡存放可能出現錯誤的程式碼 // d; //error var err = new Error("An Error!!!"); throw err; //這裡丟擲一個err物件 就會被catch捕獲到這個err物件 catch裡面的e就是err物件 所以 catch裡面那個e是必寫的 }catch (e){ //這裡存放錯誤執行後 應該要執行的程式碼 根據不同的錯誤型別alert(e); //這裡會彈出錯誤資訊 不同的錯誤會彈出不同的錯誤資訊 例如not a function / undefined }finally { //不管有沒有錯誤發生,都始終執行 abc.attr = 66; } //額外的東西 把一個網址收藏到我的收藏夾中 var address = "http://www.baidu.com"; var name = "我的收藏夾"; window.external.addFavorite(address,name); //IE window.sidebar.addPanel(name,address,"") ; //火狐瀏覽器 //物件檢測相容性測試 發現出錯了 火狐上可以 IE上不可以 這是IE自身實現上的問題在 怎麼辦呢 try catch就發揮作用了 function addFavorite(address,name) { if(window.external && window.external.addFavorite){ window.external.addFavorite(address,name); }else if(window.sidebar && window.sidebar.addPanel){ window.sidebar.addPanel(name,address,"") } } //------try catch 實現上述相容性---------- try{ window.external.addFavorite(address,name); }catch (e){ try { window.sidebar.addPanel(name,address,"") ; }catch(e){} } </script>