アカウント名:
パスワード:
どちらがいいか、なんて話はさんざん既出だろうし、私はそこまで徹底したコードは書けないので、置いといて。シェルスクリプトに近いかもしれないPerlの話を。正確でない部分もあろうかと思います。
Perl5は20年ほど使われている言語です。昔は例外ではなくエラーコードによるチェックがほとんどすべてでした。後から書かれたモジュールは例外を返すものも多いですが、言語に組み込みなものとかは返り値で判定するタイプ。
# Perl5は言語のコアな部分に例外処理というものはなく、コードをevalしてエラーが出たか、で例外処理としています
もちろん返り値チェックは面倒なので、いろいろ考えられたわけです。その1つがautodieモジュール。1行、呪文「use autodie;」を唱えるだけで、エラーコードが返ってきたところで例外が発生するようになります。たしか、返り値を捨てているところだけ反応する、という動きだったはず。
適当に検索してみつけたページ。http://d.hatena.ne.jp/noissefnoc/20110901/ [hatena.ne.jp]
# 現在(2017年)時点で最高にベストな解法なのかはわかりません。# Perl6はまた別の話でしょう。私には知識がなく。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
吾輩はリファレンスである。名前はまだ無い -- perlの中の人
返り値エラーチェックと例外 (Perl) (スコア:0)
どちらがいいか、なんて話はさんざん既出だろうし、私はそこまで徹底したコードは書けないので、置いといて。
シェルスクリプトに近いかもしれないPerlの話を。正確でない部分もあろうかと思います。
Perl5は20年ほど使われている言語です。昔は例外ではなくエラーコードによるチェックがほとんどすべてでした。
後から書かれたモジュールは例外を返すものも多いですが、言語に組み込みなものとかは返り値で判定するタイプ。
# Perl5は言語のコアな部分に例外処理というものはなく、コードをevalしてエラーが出たか、で例外処理としています
もちろん返り値チェックは面倒なので、いろいろ考えられたわけです。その1つがautodieモジュール。
1行、呪文「use autodie;」を唱えるだけで、エラーコードが返ってきたところで例外が発生するようになります。
たしか、返り値を捨てているところだけ反応する、という動きだったはず。
適当に検索してみつけたページ。
http://d.hatena.ne.jp/noissefnoc/20110901/ [hatena.ne.jp]
# 現在(2017年)時点で最高にベストな解法なのかはわかりません。
# Perl6はまた別の話でしょう。私には知識がなく。