autodie はPerlのモジュールです。言語や場面に関わらず例外処理は重要です。例外処理については、ソフトウェア開発に関わる方全員が、設計の段階から多くの時間を割いているでしょう。autodieは、そのような例外処理に関する負担を少しでも低減するのに役立つはずです。

autodie の主な特徴

1) 実装が簡単

use を使ってロードします。use はコンパイル時に評価されますから、ソースコードのどの行に記述しても構いません。

use autodie;

2) 例外処理の対象を選択できる

モジュールをロードする宣言で選択できます。次の記述では、既定値でロードします。

use autodie qw(:default);

次の記述は、上記と等価な記述となります。

use autodie;

ファイルI/Oだけを対象としたい場合は、次の通りです。

use autodie qw(:file);

:all を指定することができます。しかし、Perlの全ての関数を示している訳ではありません。次のように階層的に分類し定義した関数が対象となります。

:all
    :default
        :io
            read
            seek
            sysread
            sysseek
            syswrite
            :dbm
                dbmclose
                dbmopen
            :file
                binmode
                close
                chmod
                chown
                fcntl
                fileno
                flock
                ioctl
                open
                sysopen
                truncate
            :filesys
                chdir
                closedir
                opendir
                link
                mkdir
                readlink
                rename
                rmdir
                symlink
                unlink
            :ipc
                pipe
                :msg
                    msgctl
                    msgget
                    msgrcv
                    msgsnd
                :semaphore
                    semctl
                    semget
                    semop
                :shm
                    shmctl
                    shmget
                    shmread
            :socket
                accept
                bind
                connect
                getsockopt
                listen
                recv
                send
                setsockopt
                shutdown
                socketpair
        :threads
            fork
    :system
        system
        exec

autodie のインストール

sudo cpanm autodie でインストールできます。

エラーが発生した時に、エラーメッセージを出力して終了して構わないプログラムを作る場合に便利です。また、既に完成したプログラムで例外処理がなくて困っている場合や、例外処理の漏れがあるかもしれないプログラムを検査する場合にも活躍するでしょう。

autodie はPerl製、GPLとArtistic Licenseのオープンソース・ソフトウェアです。

autodie - Replace functions with ones that succeed or die with lexical scope

source code