エラー処理を改善中 その2

単純だが SEGV したらその原因を突き止める。修正する。
SEGV ではなくもっと分かりやすく検知できなかったか?を熟考。対応の処理を入れる。


Regexp のエラーをいかに raise するか?に苦労。鬼車が絡むのでエラーを raise する場所が深くて都合が悪い。
とは言いつつもきっちり作り込む。WRITING SOLID CODE と Code Complete の教訓は生かされているようだ。

 Exception:
    Unhandled exception
 Condition components:
    1. &assertion
    2. &who: open-file-output-port
    3. &message: "can't open file"
    4. &irritants: ("not-exist-path/////xxx")

 Stack trace:
    1. compiler-with-library.scm:2898: (raise c) 
    2. <subr>: open-file-output-port