- 締切済み
perlのエラー処理
ライブラリ内部で発生したエラーをキャッチする方法がわかりません(>_<) ---------------------------------- #!/usr/bin/perl use XML::AAA; my $aaa = "bbb"; my $ccc = XML::AAA->new($aaa); ---------------------------------- こんなスクリプトを書いたとします。 XML::AAAが、newするときにXML::BBBを使っているとします。 引数が不正でXML::BBBでエラーが発生したときに どうやってそのエラーをキャッチしたらいいかわかりません。 eval{my $ccc = XML::AAA->new($aaa);} if($@){&error_handling;} とやってみても、うまくキャッチできません。 また、$aaaが正しい引数かどうかを確認するのは、ちょっと難しいので、やはり、エラーをキャッチする方向で考えたいです。 ほかにどのような方法があるか教えてください。。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
noname#25358
回答No.1
お礼
シグナルよくわかっていなくて、 ちょっと調べたくらいじゃ、うまくいきませんでした。 $SIG{'TERM'} = "terminal"; 宣言すると、正常終了のときもterminalがよばれちゃいます。 シグナル勉強する前に if (eval{my $ccc = XML::AAA->new($aaa)}){ } else { &teminal; } とやってみると、なんとなく思惑通りに動いているっぽいので これで進めてみます。