タグ

try-tinyに関するissmのブックマーク (4)

  • YappoLogs: Try::Lite 「より安全な例外キャッチを簡単に」

    Try::Lite 「より安全な例外キャッチを簡単に」 I wrote too safety exception handling module. https://metacpan.org/release/Try-Lite $@ の処理を安全に取り扱う例外処理モジュールとしては Try::Tiny があまりにも有名ですが、別の実装を作ってみました。 アプリケーションを作る時は、よく例外クラスを作ってから die bless {}, $foo_class; みたいな形のオブジェクトの例外を投げて、上流の方で eval で受け取ってから $@ の isa を調べて例外に応じた処理をする事が多いと思います。 ここで問題になるのが、受け取った例外の中から不要な物を、さらに上位に向けて rethrow するわけですが、 rethrow するのを忘れてしまうとクリティカルなバグを発生させる要因となりま

  • おそらくはそれさえも平凡な日々: PerlのIdiomをCPANモジュールを使って可読性を高くしてみる

    今年からKayac技術部では以前以上にPerlを推進する方向で進めています。そんな中でこれまでPerlを書いたことのないエンジニアにもPerlを書いてもらうことも多くなってきたのですが、PerlのIdiomがやはりわかりづらいんだなぁということを感じています。 割りとサクッとやっつけでコードを書くことが出来るのもPerlの良い点ですが、まあ分かりづらいよね...、と言うことで最近はPerlに慣れない人に対しても可読性が高くなるように多少心がけています。 てことで、PerlのIdiomとそれを読みやすくしたものを幾つか。 ファイル一気読み こんな感じで書いてしまうことが多いと思います。 use autodie; も併用することが多いので、or dieとかも書かない感じ。 my $content = do {local $/; open my $fh,'<:utf8',$file_name;<

  • とある言語の例外処理 またはTry::Tinyの落とし穴 - Articles Advent Calendar 2010 Casual

    今年の Advent Calendar もいよいよ中盤戦。 もういくつ寝ると、メリーク×ト×ス! 最近、休日になると漫画を大人買いするのが趣味になってしまったいけない大人になってしまった僕ことzentoooですが、最近のお気に入りは「未来日記」です。あー由乃かわいいなーかーわいいなーーーかーーーわいーなあーーーーあーあーあーーーーーーあーーーーーーーーーーー頭おかしいけど。 ふぅ。 さて、みなさん、コード書いてますか、コード読んでますか。 短く簡潔なコードを読むと、気持ちもスッキリしますね。 でも、たまには例外処理なんてどうですか。 Perlで例外処理ができるなんて、なんか渋くないですか。 Perlにおけるベーシックな例外処理 冗談はさておき、初めてのPerlというハレンチなを読んだりすると、多分書いてあるのは以下のような方法による例外処理です。実際に初めてのPerlに書いてあるかどうか

    とある言語の例外処理 またはTry::Tinyの落とし穴 - Articles Advent Calendar 2010 Casual
  • 例外捕捉モジュール Try::Tiny のベンチマーク - Craftworks Tech Blog - Branch

    Yuval Kogman 氏が Try::Tiny という新しい例外捕捉モジュールをリリースしたようなので、ベンチマークを取ってみました。 ベンチマークコードは、Error.pm のオーバーヘッドで書いたものを流用しました。 ベンチマークコード #!/usr/bin/perl use strict; use warnings; use Benchmark qw(:all); use Try::Tiny; use Error; cmpthese(timethese(100000, { 'eval' => sub { _eval(\&die_with_object); _eval(\&die_with_string); _eval(\&dont_die); }, 'try' => sub { _tiny(\&die_with_object); _tiny(\&die_with_string);

    例外捕捉モジュール Try::Tiny のベンチマーク - Craftworks Tech Blog - Branch
  • 1