エラーハンドラーの設定⚓︎
フロントエンドの例外処理方針 に記載の通り、業務フロー上は想定されないシステムのエラーを表すシステム例外と、業務フロー上想定されるエラーを表す業務例外をそれぞれ捕捉し、適切にハンドリングする必要があります。
グローバルエラーハンドラーの設定⚓︎
業務フロー上発生が想定されないエラーを捕捉し、ハンドリングするためのグローバルエラーハンドラーを設定します。 エラーハンドラーはアプリケーションの共通部品なので、新しくshared
フォルダーを作成し、下図の階層に、global-error-handler.ts
を作成します。
フォルダー構造
<workspace-name>
└─ src/
└─ shared/ ---------------------- アプリケーションの共通部品が配置されるフォルダー
└─ error-handler/
└─ global-error-handler.ts
グローバルエラーハンドラーは、 Vue.js の プラグイン として実装します。 プラグインは、アプリケーション全体で利用したい機能やコンポーネントがある場合に有用です。
グローバルエラーハンドラーの実装例
Vue.js アプリケーションで発生したエラーに対するハンドリングは、 Vue.js で用意されている app.config.errorHandler に実装します。 JavaScript の構文エラーや、 Vue アプリケーション外の例外に対しては、addEventListener() メソッドを用いてイベントリスナーを追加することでハンドリングします。同期処理については error イベントを検知することでハンドリングし、 API 通信や I/O 処理のような非同期処理については unhandledrejection イベントを検知することで、ハンドリングします。
global-error-handler.ts | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
実装したグローバルエラーハンドラーを、アプリケーションのエントリーポイントでインストールします。
エントリーポイントの実装例
main.ts | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|