JavaScript の Async/Await 機能では、try の外で式を待つ変数を宣言するのが一般的です...catch ブロックを使用して、後でアクセスできるようにします。ただし、例外を効果的に処理するには、try 本体内のビジネス ロジックを最小限に抑えることがベスト プラクティスです。
try { const createdUser = await this.User.create(userInfo); console.log(createdUser); // Business logic goes here } catch (error) { console.error(error); // from creation or business logic }
このアプローチにより、ビジネス ロジックからの例外を含むすべての例外が確実に処理されます。
エラーのみをキャッチしたい場合Promise から、次のオプションを検討してください:
ブロックの外で変数を宣言し、分岐を通じてエラーを処理します:
let createdUser; try { createdUser = await this.User.create(userInfo); } catch (error) { console.error(error); // from creation } if (createdUser) { // User was created successfully console.log(createdUser); // Business logic goes here }
キャッチされた例外のタイプを確認し、それに応じて処理します:
try { const createdUser = await this.User.create(userInfo); // User was successfully created console.log(createdUser); // Business logic goes here } catch (error) { if (error instanceof CreationError) { console.error(error); // from creation } else { throw error; } }
シンプルさと正確性を提供する try...catch の代替方法は、.then() コールバックを使用することです。
await this.User.create(userInfo).then( (createdUser) => { // User was created successfully console.log(createdUser); // Business logic goes here }, (error) => { console.error(error); // from creation } );
各オプションの長所と短所を考慮してください。特定の要件に基づいて。
以上がJavaScript で Try...Catch を Async/Await で正しく使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。