錯誤處理是 JavaScript 程式設計的重要方面,以確保意外問題不會使您的應用程式崩潰並妥善處理。 JavaScript 提供了 try、catch 和 finally 區塊來處理執行階段錯誤。
基本語法是:
try { // Code that may throw an error } catch (error) { // Code to handle the error } finally { // Code that runs regardless of success or failure }
try 區塊用來執行可能引發錯誤的程式碼。如果發生錯誤,控制權將傳遞到 catch 區塊。
try { const result = 10 / 0; console.log(result); // Infinity nonExistentFunction(); // This will throw an error } catch (error) { console.error("An error occurred:", error.message); }
finally 區塊是可選的,它在 try 和 catch 區塊之後運行,無論是否發生錯誤。
try { console.log("Trying..."); throw new Error("Something went wrong!"); } catch (error) { console.error("Caught an error:", error.message); } finally { console.log("Execution completed."); } // Output: // Trying... // Caught an error: Something went wrong! // Execution completed.
您可以巢狀 try-catch 區塊來處理不同層級的錯誤。
try { try { throw new Error("Inner error"); } catch (innerError) { console.error("Caught inner error:", innerError.message); throw new Error("Outer error"); } } catch (outerError) { console.error("Caught outer error:", outerError.message); }
您可以使用 throw 關鍵字來建立自訂錯誤。
function divide(a, b) { if (b === 0) { throw new Error("Division by zero is not allowed."); } return a / b; } try { console.log(divide(10, 0)); } catch (error) { console.error("Error:", error.message); }
當發生錯誤時,Error 物件將被傳遞到 catch 區塊。
try { undefinedFunction(); } catch (error) { console.log("Name:", error.name); // ReferenceError console.log("Message:", error.message); // undefinedFunction is not defined console.log("Stack:", error.stack); // Stack trace }
try { // Code } catch (error) { if (error instanceof TypeError) { console.error("Type Error:", error.message); } else { console.error("Other Error:", error.message); } }
try { const data = fetchData(); } catch (error) { console.error("Failed to fetch data. Using defaults."); const data = defaultData; }
避免空的 Catch 區塊:
使用 Final 清理:
try { // Code that may throw an error } catch (error) { // Code to handle the error } finally { // Code that runs regardless of success or failure }
有效的錯誤處理可確保您的應用程式能夠處理意外情況而不會崩潰,從而帶來更好的使用者體驗和更易於維護的程式碼。
嗨,我是 Abhay Singh Kathayat!
我是一名全端開發人員,擁有前端和後端技術的專業知識。我使用各種程式語言和框架來建立高效、可擴展且用戶友好的應用程式。
請隨時透過我的商務電子郵件與我聯繫:kaashshorts28@gmail.com。
以上是掌握 JavaScript 中的錯誤處理:Try、Catch 與 Final的詳細內容。更多資訊請關注PHP中文網其他相關文章!