擴充 JavaScript 中的錯誤:綜合指南
錯誤處理是任何程式語言的重要組成部分。在 JavaScript 中,Error 是所有錯誤的基底類別。然而,有時我們可能想要建立自己的自訂錯誤類型,它繼承自 Error 基類,但提供附加功能或屬性。
使用 ES6 擴充錯誤
使用ES6 的引入,擴充 Error 變得更加容易。我們現在可以使用 extends 關鍵字建立一個繼承自 Error 的新類別:
class MyError extends Error { constructor(message) { super(message); this.name = 'MyError'; } }
該類別擴展了 Error 類別並新增了自訂名稱屬性。我們現在可以像這樣拋出MyError 的實例:
throw new MyError('Something went wrong');
當我們捕獲並處理MyError 的實例時,我們可以訪問其自定義名稱屬性,這將幫助我們識別錯誤類型:
try { // ... } catch (error) { if (error instanceof MyError) { console.error(`MyError: ${error.message}`); } else { console.error(`Unknown error: ${error.message}`); } }
使用舊版JavaScript 擴充Error
在舊版JavaScript 中,我們可以使用原型鏈擴充Error:
function MyError(message) { this.message = message; } MyError.prototype = Object.create(Error.prototype); MyError.prototype.constructor = MyError; MyError.prototype.name = 'MyError';
這種方法稍微冗長一些,但它也適用於不支援ES6 的舊版JavaScript。
結論
JavaScript 中的擴展錯誤允許我們建立自訂錯誤類型,這些錯誤類型可以用於提供有關錯誤的更詳細資訊並專門處理它們。無論您使用 ES6 還是舊版 JavaScript,都有適當的方法來擴充 Error 來滿足您的需求。
以上是如何擴展 JavaScript 中的錯誤以進行自訂錯誤處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!