0
如何處理自己生成的錯誤以及Javascript承諾中的庫/未處理的異常?我面臨的問題是由承諾方法的「全部」性質產生的。承諾處理錯誤
舉例來說,我有以下代碼:
somePromiseFunction()
.then(result => {
// External library or behaviour
someCodeThatCanThrowExceptions()
if (result.code === 1) {
throw 'My own exception'
}
})
.catch(err => {
// how do I know if this is an exception I don't know or something
// that I do want to actually handle?
});
很多事情都可能出錯的then()
鏈,外部庫可以拋出異常等。例如,當這樣的事情發生時,我想打印「通用錯誤」。
但我也想驗證代碼並提前退出(就像我在這個例子中做的那樣),並且在這種情況下實際上打印了我自己的消息「我自己的錯誤」。
如何處理我的「退出早期」throw
s和所有不同的事情,而不是在執行代碼期間可能出錯?
讓.catch中的代碼檢查'if(err ==='我自己的異常')'後面跟着你的自定義處理程序,其次是一般處理程序嗎? –
不要宣傳[此圖書館](https://github.com/AlexanderMac/n-custom-errors),但它可以滿足你的需求。給出了註冊自定義錯誤的可能性,並檢查拋出的錯誤是否是自定義錯誤。 – alexmac
[永遠不會拋出字符串。](https://stackoverflow.com/a/26020867/1048572) – Bergi