[JavaScript] (Day-29) - 錯誤處理 Throw、Try 和 Catch

Either you run the day, or the day runs you. 你不掌握時間,時間就會折磨你。

當(dāng) JavaScript 引擎執(zhí)行 JavaScript 代碼時,會發(fā)生各種錯誤:

  • 可能是語法錯誤,通常是程序員造成的編碼錯誤或錯別字
  • 可能是拼寫錯誤或語言中缺少的功能(可能由于瀏覽器差異)
  • 可能是由于來自服務(wù)器或用戶的錯誤輸出而導(dǎo)致的錯誤
  • 當(dāng)然,也可能是由于許多其他不可預(yù)知的因素
  • ...

JavaScript 錯誤處理三大關(guān)鍵詞 - throwtrycatch
  • try - 語句測試代碼塊的錯誤
  • catch - 語句處理錯誤
  • throw - 語句創(chuàng)建自定義錯誤

JavaScript 拋出(throw)錯誤

當(dāng)錯誤發(fā)生時,當(dāng)事情出問題時,JavaScript 引擎通常會停止,并生成一個錯誤消息;

描述這種情況的技術(shù)術(shù)語是:JavaScript 將拋出一個錯誤。

Throw 語句

throw 語句允許我們創(chuàng)建自定義錯誤;

正確的技術(shù)術(shù)語是:創(chuàng)建或拋出異常(exception);

如果把 throwtrycatch 一起使用,那么您能夠控制程序流,并生成自定義的錯誤消息。

Throw 語法
 throw exception 

catch 會捕捉到這個錯誤,并顯示一段自定義的錯誤消息:

try
  { 
    var x = document.getElementById("demo").value;
    if(x=="")    throw "empty";
    if(isNaN(x)) throw "not a number";
    if(x>10)     throw "too high";
    if(x<5)      throw "too low";
  }
catch(err)
  {
    var y = document.getElementById("mess");
    y.innerHTML="Error: " + err + ".";
  }

JavaScript try 和 catch

try 語句允許我們定義在執(zhí)行時進(jìn)行錯誤測試的代碼塊;

catch 語句允許我們定義當(dāng) try 代碼塊發(fā)生錯誤時,所執(zhí)行的代碼塊;

catch 塊會捕捉到 try 塊中的錯誤,并執(zhí)行代碼來處理它;

JavaScript 語句 try 和 catch 是成對出現(xiàn)的。

語法
try
   {
   //在這里運行代碼
   }
 catch(err)
   {
   //在這里處理錯誤
   }
實例
try
  {
    errAlert("Welcome guest!");
  }
catch(err)
  {
    txt="本頁有一個錯誤。\n\n";
    txt+="錯誤描述:" + err.message + "\n\n";
    txt+="點擊確定繼續(xù)。\n\n";
    alert(txt);
  }

因為 errAlert() 函數(shù)未定義,所以會報錯,錯誤信息為:errAlert is not defined

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,740評論 18 399
  • Java異常類型 所有異常類型都是Throwable的子類,Throwable把異常分成兩個不同分支的子類Erro...
    予別她閱讀 1,036評論 0 2
  • 時常會想起張愛玲筆下的《半生緣》中,世鈞與曼禎事隔多年后重逢的鏡頭。他們痛苦萬分,淚流滿面,昔日萬般情深,最后也...
    風(fēng)吹過_fd4e閱讀 421評論 0 0

友情鏈接更多精彩內(nèi)容