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オブジェクトからのエラーイベント発生