パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Edge of exceptional exception(草稿)」記事へのコメント

  • by Anonymous Coward on 2017年04月29日 17時13分 (#3202956)

    どちらがいいか、なんて話はさんざん既出だろうし、私はそこまで徹底したコードは書けないので、置いといて。
    シェルスクリプトに近いかもしれないPerlの話を。正確でない部分もあろうかと思います。

    Perl5は20年ほど使われている言語です。昔は例外ではなくエラーコードによるチェックがほとんどすべてでした。
    後から書かれたモジュールは例外を返すものも多いですが、言語に組み込みなものとかは返り値で判定するタイプ。

    # Perl5は言語のコアな部分に例外処理というものはなく、コードをevalしてエラーが出たか、で例外処理としています

    もちろん返り値チェックは面倒なので、いろいろ考えられたわけです。その1つがautodieモジュール。
    1行、呪文「use autodie;」を唱えるだけで、エラーコードが返ってきたところで例外が発生するようになります。
    たしか、返り値を捨てているところだけ反応する、という動きだったはず。

    適当に検索してみつけたページ。
    http://d.hatena.ne.jp/noissefnoc/20110901/ [hatena.ne.jp]

    # 現在(2017年)時点で最高にベストな解法なのかはわかりません。
    # Perl6はまた別の話でしょう。私には知識がなく。

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

処理中...