- PR -

VB.NETで開発したプログラムが、実行時に起こす不可解な現象について(catchできないエラーが発生)

投稿者投稿内容
桜緋女
常連さん
会議室デビュー日: 2004/09/15
投稿数: 46
投稿日時: 2005-12-19 17:29
桜です。

例外処理で例外が発生している、というケースもままあります。

XMLからメッセージIDを読み込んで、
該当メッセージを表示する処理をしているけれども、
該当メッセージがないとそこでまたExceptionを投げてしまう、とか。

恥ずかしいのであまり言いたくないですけど、時々あります。
こういうパーターンも当然、キャッチできないですね。
Katsumi
会議室デビュー日: 2002/08/15
投稿数: 11
投稿日時: 2005-12-20 20:10
Jubei様、囚人様、じゃんぬねっと様、雲山様、まどか様、かるあ様、桜緋女様

本当にありがとうございます。
皆さんがおっしゃっていることを、さらに調べたりして
やっと、皆さんの教えてくれようとしていることが分かったと思います。

私が教えてもらって分かったと思っていることは
・try catchは、自分で書いた部分についてはキャッチできるけど、
 実はそれ以外にも動いている部分があって、
 そこでも例外が発生する可能性があって、
 それは、try catchでは捕らえられない。

・では、そういった例外は、
 Application.ThreadException
 とか、
 UnhandledException
 という名前であり、それらをハンドリングするための関数を
 自作して、その関数をアプリケーションに教えてあげる。
 そうすると、それらの例外もキャッチできる。

ということなんですね。

特に、雲山様にVB.NETのソースまで頂けて
大変助かりました。

自分の所に組み込んで、
今、現象が再現するところを待っているところです。

本当に、皆様ありがとうございます。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-20 21:01
引用:

Katsumiさんの書き込み (2005-12-20 20:10) より:

実はそれ以外にも動いている部分があって、
そこでも例外が発生する可能性があって、
それは、try catchでは捕らえられない。


全部がそういうわけではないです。

引用:

・では、そういった例外は、
 Application.ThreadException
 とか、
 UnhandledException
 という名前であり、それらをハンドリングするための関数を
 自作して、その関数をアプリケーションに教えてあげる。
 そうすると、それらの例外もキャッチできる。


そのためだけにあるイベントではないです。
本当の意味で想定外の例外をハンドルできる場所という意味合いもあります。
(何でもかんでも Catch 句をつけるよりは良いでしょう)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Katsumi
会議室デビュー日: 2002/08/15
投稿数: 11
投稿日時: 2005-12-22 13:44
引用:

じゃんぬねっとさんの書き込み (2005-12-20 21:01) より:

そのためだけにあるイベントではないです。
本当の意味で想定外の例外をハンドルできる場所という意味合いもあります。
(何でもかんでも Catch 句をつけるよりは良いでしょう)



認識の間違いを指摘していただきありがとうございます。

われわれは、その、
(何でもかんでも Catch 句をつける)
手法をとっておりました。よって、コードが巨大になっております。

ありがとうございます。

スキルアップ/キャリアアップ(JOB@IT)