eval { $moge = new Moge(); $moge->initialize(); $moge->execute(); $moge->destoroy(); }; if (isException('Moge::Fobbiden') { $moge->destoroy(); $@->printMessage(); } elsif (isException('Moge::UnknownQuery') { $moge->destoroy(); $@->printMessage(); } elsif (isOtherException()) { STDERR->print("Error: $@"); } こんな感じの例外処理モジュールつくった(`Д´)