読者です 読者をやめる 読者になる 読者になる

コンパイラかく語りき

文系新卒プログラマーのメモ

”globが失敗するケースを書く”を読んだ

こちら読みました。

qiita.com

 

前回は、globの基本的な使い方を学んだので、今回は失敗ケースについてメモします。

chuckwebtips.hatenablog.com

 

 

自力エラーイベントを発動

glob.Globインタンスを作成して、インタンスの持つemitメソッドを呼び出します。

gist8c90e5247740ffb7d33f

 

このファイルをnodeで実行すると、エラーが発生してエラーメッセージが流れます。

f:id:chuck0523:20160320200937p:plain

 

ちなみに、emitメソッドの第一引数として指定できるイベントは4つあるようです。

github.com

 

ファイル検索の失敗するディレクトリを作成

もっと自然な失敗ケースです。

gist3c9844102f359b982869

 

nodeの標準パッケージであるfsを利用して、アクセス権限のないディレクトリを作成しています。

アクセス権限がないので、globがアクセスしようとするとエラーが発生します。

 

rimrafはディレクトリを削除するパッケージですね。念のためのお掃除です。

 

実行結果がこちら。

f:id:chuck0523:20160320201802p:plain

きちんとエラーが発生しています。