- ベストアンサー
(perl)プログラムの先頭に記述するだけで、エラーを飛ばしてくれる方
(perl)プログラムの先頭に記述するだけで、エラーを飛ばしてくれる方法について プログラムの先頭に記述するだけで、エラーを飛ばしてくれる方法があったのですが 思い出せません、ググっても見つかりません。どなたか教えて頂けないでしょうか? とにかく、発生するエラーをとことん無視するような物です。 宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
use sigtrap; じゃないですよね……検索したら普通に出てくるし……
その他の回答 (3)
- moon_piyo
- ベストアンサー率60% (88/146)
#2 のものです。 補足をお願いします。 過去にその方法で無視できた、というエラーの例をいくつか教えていただけませんか
補足
再現性が無く登場するエラーに使っており、残念ながら、エラー内容については全く覚えていません。 ただ、1行で様々なエラーに対応?できました。 また、細かくエラー内容を指定することで、任意のエラーのみを飛ばすような設定ができたと思います。 どこのHPか忘れましたが、エラーの種類の一覧があり、そのエラー名を含んだ物を指定した記憶があります。 特に、perl内部にあるような、こちらではどうしようもないエラー(推測:perl内部のC言語のポインタエラー?)が発生した時、使った記憶があります。 確かJAVAにも同様の方法(全く違うかも)があり、エラー内容を指定することで、try-catchをしなくても、中断することなく進んでくれる方法があったように記憶しています。
- moon_piyo
- ベストアンサー率60% (88/146)
こんにちは $SIG{__DIE__} = "IGNORE"; とかではありませんか??
お礼
回答いただきありがとうございます。 そういった方法もあるのですね。全くの初耳でした。とても勉強になります! 質問文で、 「プログラムの先頭に記述するだけで、エラーを飛ばしてくれる方法があったのですが」 と書いていますが、誤解を招く文章でした。すみません。 プログラムの先頭というのは、use strict;やuse warnings;のある場所に、何かを書くと、そのプログラムで発生するエラーを大抵無視してくれるという物です。 もし、思い付く物がありましたら是非教えてください。 宜しくお願い致します。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
そんなものありません。 >発生するエラーをとことん無視するような物です。 そうしてどうなるのですか?、無限ループにでも落とし込んでコンピューターを壊すのですか? それよりは、 use strict; として、エラーを取り除くことが肝心です。
お礼
回答いただきありがとうございます。 >そんなものありません。 お言葉を返すようですが、先日まで使っていましたので方法はあるかと思います。 ただ、表現としては、エラーが発生した場合、個別のエラーごとに無視する方法と全部のエラーを無視して継続する方法の2種類があったと記憶しています。 数日前にHDDが飛び、ソースごと無くなってしまいましたので困っています。 また、外部プログラムからのフリーズで止まっているようですので、use strict; use warnings;では無警告ですし、色々なところで際限なく発生しますのでとりあえず、無視する方法を探しています。
お礼
もしかすると、これかもしれません。 回答いただきありがとうございました!