土曜の昼、学校帰りの昼メシの思い出

UWSCで、エラーが発生したときに、特定の行、または指定されたファンクションへ飛ばしたいのですが、その方法はありますでしょうか?VBでいうOnErrorステートメントと同じ役割ができるものを探しています。

UWSCはエラーがでると、強制終了されてしまい、その後のプログラムの実行が止まってしまいますので、これを回避するためです。

当方、プログラムは素人ではありませんが、UWSCは始めてです。もし分かる方がいましたら、教えていただけませんでしょうか?

A 回答 (3件)

こんにちは。



>UWSCはエラーがでると、強制終了されてしまい、その後のプログラムの実行が止まってしまいますので、これを回避するためです。

ANo.1 記載の通り、try ~ except ~ endtry で except 句に、実行時エラーが発生した時の処理を入れておくのがよいと思います。実行時エラーの種類によっては、もはやスクリプトエンジンの処理を中断する類のものと判断される場合があります。その場合はエラーをキャッチできません。

それも救済したい場合は、該当ロジックを別ファイル A.uws に切り出して、EXEC で UWSC.exe A.uws と起動させる。A.uws が異常終了しても EXEC した側の UWSC.exe は影響を受けない。そんな風に影響範囲を局所化することも可能ではあります。
    • good
    • 0
この回答へのお礼

こんにちは。

アドバイスありがとうございます。別のファイルに切り出して起動させるのは思いつきませんでした。救済策としてはそれで解決できそうですね。特にWEBが絡むものを作成する場合は、ネット環境によって予期できないエラーがでてきますので、その方法も試しに使ってみたいと思います。

ありがとうございました!

お礼日時:2008/07/10 17:59

> ネット環境によって予期できないエラーがでてきますので、その方法も試しに使ってみたいと思います。



はい。あと意図しないメモリ使用(リークなど)で、メモリ使用率が単調増加してシステムを圧迫するなどのリスクを視野に入れて、COM 系は、なるべくプロセス空間を分けて処理させるぐらいのことはしてもよいかもしれません。UWSC のメモリ管理で杜撰ではないのですが、仮にそうなってもその影響を局所化できることは安全だ、という意味において、です。

EXEC は、起動を指示するにあたって同期、非同期を選択できますので、適宜判断の上ご利用ください。
    • good
    • 0
この回答へのお礼

ありがとうございます。できるだけ動作がスムーズにできるように努力してみたいと思います。EXECは非同期選択できるとは知りませんでした。もっと勉強しなければいけませんね。優しく丁寧なご回答ありがとうございました。

お礼日時:2008/07/11 19:41

try ~ except ~ endtryで例外処理ができるそうな。


くわしくは、UWSCのヘルプを。
    • good
    • 0
この回答へのお礼

ありがとうございます!
なるほど、その処理方法を勉強してみます。なんとかできそうですね。

お礼日時:2008/07/10 17:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報