最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

聊聊JavaScript中的try...catch使用小技巧

 更新時間:2023年11月16日 11:41:55   作者:_973  
作為一名web前端工程師,JavaScript中的try...catch是我們常用的特性之一,用于處理代碼中可能出現(xiàn)的錯誤,本文小編將和大家一起聊聊JavaScript中的try...catch使用小技巧,需要的朋友可以參考下

作為一名web前端工程師,JavaScript中的try...catch是我們常用的特性之一,用于處理代碼中可能出現(xiàn)的錯誤。之所以需要它是因為當執(zhí)行 JavaScritp 發(fā)生錯誤時,會停止執(zhí)行接下來的程序,出現(xiàn)的異常會導致程序崩潰 , 所以使用 try...catch 來處理代碼中可能出現(xiàn)的錯誤信息

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

舉一個簡單的例子

在下面的例子中,我們故意在 try 塊的代碼中寫了一個錯的關(guān)鍵字。 該實例本應該提醒"前端工程師!",但彈出的是錯誤信息(ReferenceError: alaert is not defined)。 catch 塊會捕捉到 try 塊中的錯誤,并執(zhí)行代碼來處理它。

    try {
      alaert("前端工程師!"); 
    } catch (error) {
      console.log(error);
    }

更多實例

<p>請輸入 5 和 10 之間的一個數(shù):</p> 
<input id="demo" type="text"> 
<button type="button" onclick="myFunction()">檢測輸入</button> 
<p id="message"></p>
<script>
function myFunction() {
     var message, x;
     message = document.getElementById("message"); 
     message.innerHTML = ""; 
     x = document.getElementById("demo").value; 
     
     try { 
        if(x == "") throw "為空"; 
        if(isNaN(x)) throw "不是一個數(shù)字"; 
        if(x > 10) throw "太大了"; 
        if(x < 5) throw "太小了"; 
     } 
     catch(err) { 
        message.innerHTML = "輸入的值 " + err; 
     } 
}
</script>

該實例檢測輸入的值是否錯誤,如果錯誤則拋出異常。
異常通過 catch 語句捕獲,并輸出自定義信息

捕獲所有異常

    try {
      // 可能會拋出異常的代碼
    } catch {
      // 處理所有異常的代碼
    }

這種方式會捕獲所有異常,包括語法錯誤、運行時錯誤自定義錯誤

注意:在生產(chǎn)環(huán)境中使用時,建議具體指定要捕獲的異常類型,以便更好地診斷問題

捕獲異步異常

如果你使用了異步代碼,你可能需要捕獲異步代碼中的異常。例如,以下代碼塊使用 Promise 來異步加載資源

    try {
      const resource = await fetch("/resource");
      // 處理資源的代碼
    } catch (error) {
      // 處理異常的代碼
    }

如果在異步操作中發(fā)生異常,它會被傳遞到 catch 代碼塊中。但是,如果你沒有使用 try...catch 來捕獲異常,它將被視為未處理的異常。

finally

finally()  方法返回一個 Promise。在 promise 結(jié)束時,無論結(jié)果是 fulfilled 或者是 rejected,都會執(zhí)行指定的回調(diào)函數(shù)

   try {
      tryCode; //嘗試執(zhí)行代碼塊
    } catch (err) {
      catchCode; //捕獲錯誤的代碼塊
    } finally {
      finallyCode; // 無論 try / catch 結(jié)果如何都會執(zhí)行的代碼塊
    }

拋出異常

try...catch 不僅可以捕獲異常,還可以拋出異常。你可以使用 throw 語句在代碼中手動拋出異常

function divide(a, b) { 
 if (b === 0) { 
   throw new Error("除數(shù)不能為零"); 
} 
 return a / b; 
}

如果在 divide 函數(shù)中 b 的值為 0,則會拋出一個包含錯誤消息的異常。你可以使用 try...catch 來捕獲這個異常并執(zhí)行相應的操作

捕獲錯誤并忽略它們

有時,在調(diào)試代碼時,你可能希望暫時忽略一些錯誤。你可以使用空的 catch 代碼塊來忽略異常

    try {
      // 可能會拋出異常的代碼
    } catch {
      // 忽略異常
    }

但是,建議不要在生產(chǎn)環(huán)境中使用這種方式。在生產(chǎn)環(huán)境中忽略異常可能會導致代碼無法預料的行為

結(jié)論

try...catch 是一個強大的異常處理工具。如果沒有try/catch的話,就有可能出現(xiàn)異常導致程序崩潰,而try/catch 則可以保證程序的正常運行,努力學好這個工具,可以確保在編寫代碼的過程減少一些不必要的麻煩

以上就是JavaScript中的try...catch使用小技巧的詳細內(nèi)容,更多關(guān)于JavaScript try...catch使用的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 如何HttpServletRequest文件對象并儲存

    如何HttpServletRequest文件對象并儲存

    這篇文章主要介紹了如何HttpServletRequest文件對象并儲存,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • JavaScript對數(shù)組進行隨機重排的方法

    JavaScript對數(shù)組進行隨機重排的方法

    這篇文章主要介紹了JavaScript對數(shù)組進行隨機重排的方法,實例分析了javascript實現(xiàn)數(shù)組隨機重新排序的兩種實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • 基于bootstrap的文件上傳控件bootstrap fileinput

    基于bootstrap的文件上傳控件bootstrap fileinput

    這篇文章主要為大家詳細介紹了基于bootstrap的文件上傳控件bootstrap fileinput,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JS中AbortController中止請求操作的實現(xiàn)示例

    JS中AbortController中止請求操作的實現(xiàn)示例

    AbortController是JavaScript中的一個信號控制對象,用于實現(xiàn)異步操作的可控制和可中止,本文主要介紹了JS中AbortController中止請求操作的實現(xiàn)示例,感興趣的可以了解一下
    2026-02-02
  • ES6新特性二:Iterator(遍歷器)和for-of循環(huán)詳解

    ES6新特性二:Iterator(遍歷器)和for-of循環(huán)詳解

    這篇文章主要介紹了ES6新特性二:Iterator(遍歷器)和for-of循環(huán),結(jié)合實例形式分析了ES6中Iterator(遍歷器)和for-of循環(huán)遍歷操作的相關(guān)實現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2017-04-04
  • 前端Echarts自適應分辨率和縮放功能代碼實例

    前端Echarts自適應分辨率和縮放功能代碼實例

    ECharts提供了自適應功能,可以自動調(diào)整圖表大小以適應屏幕變化,下面這篇文章主要給大家介紹了關(guān)于前端Echarts自適應分辨率和縮放功能的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • JavaScript中判斷整字類型最簡潔的實現(xiàn)方法

    JavaScript中判斷整字類型最簡潔的實現(xiàn)方法

    這篇文章主要介紹了JavaScript中判斷整字類型最簡潔的實現(xiàn)方法,本文給出多個判斷整數(shù)的方法,最后總結(jié)出一個最短、最簡潔的實現(xiàn)方法,需要的朋友可以參考下
    2014-11-11
  • uniapp小程序配置tabbar底部導航欄實戰(zhàn)指南

    uniapp小程序配置tabbar底部導航欄實戰(zhàn)指南

    tabBar如果應用是一個多tab應用,可以通過tabBar配置項指定tab欄的表現(xiàn),以及tab切換時顯示的對應頁,下面這篇文章主要給大家介紹了關(guān)于uniapp小程序配置tabbar底部導航欄的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • JS+CSS實現(xiàn)炫酷光感效果

    JS+CSS實現(xiàn)炫酷光感效果

    這篇文章主要為大家詳細介紹了JS+CSS實現(xiàn)炫酷光感效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 用javascript實現(xiàn)倒計時效果

    用javascript實現(xiàn)倒計時效果

    這篇文章主要為大家詳細介紹了用javascript實現(xiàn)倒計時效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02

最新評論

丹东市| 镇原县| 安岳县| 兴安县| 塘沽区| 安丘市| 延边| 蓬溪县| 庆阳市| 鲜城| 津南区| 商都县| 漳浦县| 久治县| 土默特右旗| 鲜城| 板桥市| 清河县| 抚顺市| 木兰县| 玉田县| 区。| 蒙自县| 南漳县| 太仓市| 金秀| 罗甸县| 仙桃市| 五莲县| 辽源市| 旬邑县| 通江县| 奉贤区| 会泽县| 广东省| 徐水县| 淮阳县| 东乌| 南雄市| 馆陶县| 枞阳县|