Xslate error handling policy will be changed

Xslateはいままで $SIG{__WARN__} = \&croak 相当のことをして、すべての警告で致命的エラーにしていた。しかし、これは非プログラマが使うには厳しすぎるということで、エラー制御のポリシーを変更することにした。
次のリリースでは以下のようにするつもりだ。既にHEADでは変更してある。

  • エラーレベルは「軽微」「深刻」「回復不能」の三段階
  • 軽微なエラーはデフォルトで無視
    • 主にnilの使用が該当
    • e.g. nil.foo # => nil
    • verbose => 2 で警告を出す
  • 深刻なエラーはデフォルトで警告を出す
    • メソッド/関数が例外を放出した場合など
    • verbose => 1 で警告を抑制
  • 回復不能なエラーは例外を放出する
    • includeやマクロ呼び出しの再帰が深すぎる場合など
    • 抑制不可