使用Async/Await 的Try...Catch 區塊的正確語法
由Async/Await 促進的JavaScript 異步編程提供了處理非同步操作的便捷方法。然而,在 try...catch 區塊中聲明的變數的放置引發了有關最佳實踐的問題。
在提供的範例中,變數createdUser 在 try...catch 區塊之外聲明,以允許在等待表達。但是,通常不鼓勵在 try 主體中合併多行業務邏輯。
最佳實務
首選方法是將所有非同步操作封裝在try 區塊,確保攔截任何異常。這允許全面的錯誤處理並防止邏輯放置在 try 區塊之外。
try { const createdUser = await this.User.create(userInfo); // Business logic can be placed here as exceptions will be caught. console.log(createdUser); // ... additional business logic ... } catch (error) { console.error(error); // Handle error from creation or business logic. }
替代選項
如果必須將錯誤處理與商業邏輯分開,請考慮這些替代方案:
雖然 JavaScript 本身不支援條件異常語法,但可以透過在內部重新拋出異常來實現自訂錯誤處理.catch() 處理程序(如有必要)。
以上是如何在 JavaScript 中使用 Async/Await 正確建構 Try...Catch 區塊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!