NodeのI/Oイベントのエラーハンドリング
サーバサイドJavaScript Node.js入門 を年末に一読したのでまとめ。
実在しないファイルの読み込みにエラーが発生した場合、コールバック中に例外をスローしてもtry〜catchで受けれない
# node domain1.js
uncaughtException: ENOENT, open 'non-exists.txt'
Domainモジュール
Domainは、Node内で発生するエラーオブジェクトのスローやエラーイベントを非同期処理も含むまとまった単位でエラーハンドリングできる機能。node-v0.8で導入された機能。
- ドメインオブジェクトdとd.run()内で実行される無名関数を結びつけてエラーハンドリング
- EventEmitterオブジェクトからのエラーイベント発生