js如何拋異常,拋自定義的異常
最簡單的自定義異常 throw "hello"
來自chrome123的控制臺的測試
throw "hello"
VM209:1 Uncaught hello
(匿名) @ VM209:1
try{ throw "hello";}catch(e){console.log(e);}
VM338:1 hello
undefined
示例1
try{ throw "異常" } catch(e){ console.log(e); }
try{ throw "Hello World" } catch(e){ console.log(e); }
try{ throw 123456 } catch(e){ console.log(e); }
try{ throw new Error("自定義異常名") } catch(e){ console.log(e); }
try{ throw new Array(1,2,3,4,5,6,7 ) } catch(e){ console.log(e); }
try{ throw {n:"Object", v:"拋對象"} } catch(e){ console.log(e); }
try{ throw new Promise(f=>f("拋Promise")).then(v=>console.log(v)) }catch(e){ console.log(e); }
控制臺輸出
在JavaScript中,你可以使用throw
語句來拋出一個異常。這個異常可以是任何類型的JavaScript值,但通常我們會使用Error
對象或它的子類來拋出異常。
如果你想拋出一個自定義的異常,你可以創建一個新的Error
對象,并給它提供一個描述性的消息。下面是一個例子:
throw new Error('這是我的自定義異常');
你也可以通過創建一個繼承自Error
的自定義類來拋出更復雜的異常。例如:
class CustomError extends Error {constructor(message) {super(message);this.name = 'CustomError';}
}throw new CustomError('這是我的自定義異常');
在這個例子中,我們創建了一個名為CustomError
的新類,它繼承自Error
。我們在構造函數中調用了super()
來調用父類的構造函數,并設置了一個自定義的name
屬性。然后,我們可以像使用普通的Error
對象一樣使用這個新的CustomError
類來拋出異常。
注意,當你拋出一個異常時,當前的執行流程會被立即停止,并且控制權會被轉移到最近的catch
塊(如果存在的話)。如果沒有catch
塊來處理這個異常,那么程序就會終止并顯示一個錯誤消息。因此,你應該確保你的代碼中有適當的錯誤處理機制來捕獲和處理這些異常。