C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[10]: エラー処理


(過去ログ 58 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■33143 / inTopicNo.1)  エラー処理
  
□投稿者/ 初歩 (26回)-(2009/02/21(Sat) 13:56:33)

分類:[.NET 全般] 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
Catch ex As Exception
エラー処理
End Try
End

Global.aspxのエラーイベント
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
エラーLOG処理
End Sub

Try Catch を行うと、グローバルアプリケーションクラスのApplication_Errorが実行されません。

引用返信 編集キー/
■33145 / inTopicNo.2)  Re[1]: エラー処理
□投稿者/ 初歩 (27回)-(2009/02/21(Sat) 13:58:13)

vb,net じゃなくasp.net です。失礼しました。
引用返信 編集キー/
■33147 / inTopicNo.3)  Re[2]: エラー処理
□投稿者/ ちゃっぴ (216回)-(2009/02/21(Sat) 14:09:46)
ちゃっぴ さんの Web サイト
Catch block で throw し直さないと拾えないんじゃなかったかな?
引用返信 編集キー/
■33148 / inTopicNo.4)  Re[3]: エラー処理
□投稿者/ biac (58回)-(2009/02/21(Sat) 14:27:43)
biac さんの Web サイト
初歩さんへ、補足

> Catch block で throw し直さないと拾えないんじゃなかったかな?

throw しなおす ( rethrow ) というのは、
 Throw ex
ではなくて、
 Throw
だけです。

http://bluewatersoft.cocolog-nifty.com/blog/2008/03/net_throw_142f.html
引用返信 編集キー/
■33155 / inTopicNo.5)  Re[4]: エラー処理
□投稿者/ 初歩 (28回)-(2009/02/21(Sat) 21:08:35)
Try
Catch ex As Exception
エラー処理
Throw
End Try
でThrowを追加したら出来ました。でもデバックモードでは、Throwの次の行でメッセージが出てハンドルエラーとかに
なります。デバックなしなら、エラーメッセージはでません。
このような観点からasp.net では通常Tryブロックは使用しないのしょうか?

引用返信 編集キー/
■33191 / inTopicNo.6)  Re[5]: エラー処理
□投稿者/ Jitta on the way (275回)-(2009/02/22(Sun) 23:28:30)
No33155 (初歩 さん) に返信
> Try
> Catch ex As Exception
> エラー処理
> Throw
> End Try
> でThrowを追加したら出来ました。でもデバックモードでは、Throwの次の行でメッセージが出てハンドルエラーとかに
> なります。デバックなしなら、エラーメッセージはでません。
> このような観点からasp.net では通常Tryブロックは使用しないのしょうか?
>

どの様なエラー メッセージですか?「ハンドルされていない例外」なら、Windows アプリケーションでも同じですよ。
(throw の次の行ではなく、throw を実行することで、例外が送出…投げられます。)

try - catch の是非ということなら、大抵の場合に必要なのは try - finally ではないかと思います。
引用返信 編集キー/
■33195 / inTopicNo.7)  Re[6]: エラー処理
□投稿者/ 初歩 (29回)-(2009/02/23(Mon) 00:57:03)
Try
Catch ex As Exception
エラー処理
finally
Throw
End Try
finally ではThrowがエラーになりますね。finally でThrowは使えないのでは?
エラーは、 Exceptionのエラー内容です。


引用返信 編集キー/
■33200 / inTopicNo.8)  Re[7]: エラー処理
□投稿者/ επιστημη (1767回)-(2009/02/23(Mon) 08:19:24)
επιστημη さんの Web サイト
> Try
> Catch ex As Exception
> エラー処理
> finally
> Throw
> End Try
> finally ではThrowがエラーになりますね。finally でThrowは使えないのでは?
> エラーは、 Exceptionのエラー内容です。

Finally句には成功/失敗にかかわらず行わねばならない処理を書きます。
失敗時のみの処理ならCatch句に。

引用返信 編集キー/
■33209 / inTopicNo.9)  Re[7]: エラー処理
□投稿者/ Jitta (574回)-(2009/02/23(Mon) 12:08:07)
No33195 (初歩 さん) に返信
> Try
> Catch ex As Exception
> エラー処理
> finally
> Throw
> End Try
> finally ではThrowがエラーになりますね。finally でThrowは使えないのでは?
> エラーは、 Exceptionのエラー内容です。
>
>
私が書いたのは「try - finally」で、「try - catch - finally」ではないのですが。。。
catch 句でエラー処理をして、リスローして UnhandledException で処理すると、アプリケーションが停止すると思うのですが、それで良いのでしょうか?

ここで必要なのは、「エラー処理」(例えば、データベースの rollback)なのでしょうか。それとも、「後始末」(例えば、アンマネージ リソースの解放)なのでしょうか?前者なら try - catch、後者なら try - finally です。
引用返信 編集キー/
■33231 / inTopicNo.10)  Re[8]: エラー処理
□投稿者/ 初歩 (30回)-(2009/02/23(Mon) 23:05:55)
Try
Catch ex As Exception
エラー処理
Throw
End Try ←でエラー内容が表示されて止まる。

デバックありだとエラーの内容が表示されてとまります。デバックなしだとエラー内容は表示されません。
これが通常?尚Finally処理はありません。

引用返信 編集キー/
■33233 / inTopicNo.11)  Re[9]: エラー処理
□投稿者/ Azulean (302回)-(2009/02/24(Tue) 00:44:28)
> デバックありだとエラーの内容が表示されてとまります。デバックなしだとエラー内容は表示されません。
> これが通常?尚Finally処理はありません。
Application_Errorでしたっけ。
そこに行くのは最終です。

デバッガありだと、そこにたどり着く前にキャッチされていない例外だとデバッガが検出して、"親切に"止めてくれます。
デバッガなしだと、その検出機構がないので、Application_Errorに行くと思って下さい。

未処理の例外 → デバッガの検出タイミング(デバッガありだとここで止まる、デバッガなしだとスルー) → Application_Error



# デバッガで止めてくれないと、例外が起きた時の状況を追いかけにくいでしょ?
引用返信 編集キー/
■33279 / inTopicNo.12)  Re[10]: エラー処理
□投稿者/ 初歩 (31回)-(2009/02/24(Tue) 22:53:06)
↑ありがとうございました。
デバック時は親切にエラーを見ろって事で止まるんですね
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -