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

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

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

Re[10]: Application_Errorでエラー種別で分岐するには


(過去ログ 48 を表示中)

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

■25728 / inTopicNo.1)  Application_Errorでエラー種別で分岐するには
  
□投稿者/ トヨ (1回)-(2008/09/25(Thu) 10:14:43)

分類:[ASP.NET (C#)] 

VisualStudio2005 ASP.NET(C#)で開発しています。

なんらかのエラーが発生した場合に、Application_Errorでエラー通知メールを飛ばす
機能を実装しています。

現在メールは正常に飛ばすことができているのですが、
URLのうち間違いでファイルが存在しない場合にも、
「ファイルが存在しません。」というようなメールが飛んでしまいます。

Application_Errorに来た時点で、
どんなエラーなのかを、エラーコード等を取得して、
判別することはできないのでしょうか?(ファイルが存在しない等)
※とくに404エラーは、はじきたいです。

わかる方がいましたら、ご教授お願いします。
引用返信 編集キー/
■25782 / inTopicNo.2)  Re[1]: Application_Errorでエラー種別で分岐するには
□投稿者/ Jitta (513回)-(2008/09/25(Thu) 21:34:16)
Jitta さんの Web サイト
No25728 (トヨ さん) に返信
 必要な情報はそろっていると思いますが、何がわかりませんか?

 「ファイルが存在しません。」というメッセージを、メールの中に埋め込むことはできているのですよね?では、そのメッセージは、どうやって生成しているのですか?そこで判別すればいいのではないですか?
 どれをメールすることにして、どれをしないことにするのかは、あなた(および開発チーム)にしかわからないことだと思います。

引用返信 編集キー/
■25807 / inTopicNo.3)  Re[2]: Application_Errorでエラー種別で分岐するには
□投稿者/ トヨ (2回)-(2008/09/26(Fri) 10:18:58)
Jitta さん、返信ありがとうございます。

説明が足りず、すいません。

エラーメッセージは、Exceptionからメッセージを取得しています。
確かに、エラーメッセージに「存在しません。」という文字が存在すれば、
メールを飛ばさないというような分岐はできるのですが、
文字列分岐は不確定な要素が大きいかなと思い質問させて頂きました。

やりたいことは
エラーコード等を取得し、そのエラーコード等で分岐するという方法です。
エラーコード等のエラー原因を確実に分岐する方法はないのでしょうか?

わかる方がいましたら、ご教授お願いします。
引用返信 編集キー/
■25826 / inTopicNo.4)  Re[3]: Application_Errorでエラー種別で分岐するには
□投稿者/ PATIO (128回)-(2008/09/26(Fri) 11:11:30)
No25807 (トヨ さん) に返信
> エラーメッセージは、Exceptionからメッセージを取得しています。
> 確かに、エラーメッセージに「存在しません。」という文字が存在すれば、
> メールを飛ばさないというような分岐はできるのですが、
> 文字列分岐は不確定な要素が大きいかなと思い質問させて頂きました。
>
> やりたいことは
> エラーコード等を取得し、そのエラーコード等で分岐するという方法です。
> エラーコード等のエラー原因を確実に分岐する方法はないのでしょうか?

ASP.NETは使った事が無いので外しているかもしれませんが、
通常、そういう情報はExceptionから拾えるのではないかと思うのですが、
そちらの方は調べて見たのでしょうか?

引用返信 編集キー/
■25828 / inTopicNo.5)  Re[4]: Application_Errorでエラー種別で分岐するには
□投稿者/ ロック (110回)-(2008/09/26(Fri) 11:22:43)
ASP.NETを勉強中の身でして、人に教えるなど恐縮なのですが
本家google(Google.com in English)にて「application_error asp.net 404」
で検索すると、参考になりそうな情報が何件か出てきました。
ただ今の自分には、それが答えなのかどうなのか判断できないため

一度、検索してみてはいかがでしょうか?

引用返信 編集キー/
■25834 / inTopicNo.6)  Re[5]: Application_Errorでエラー種別で分岐するには
□投稿者/ 朱雀 (5回)-(2008/09/26(Fri) 12:26:11)
>エラーメッセージは、Exceptionからメッセージを取得しています。
ASP.NETやったことないけど.NETFrameworkなら同じだろうと思い返信。

tryで例外をまとめてひっ捕まえてメッセージを丸々投げてるだけなら
Exceptionオブジェクトの型を調べればいいんでは?

FileStreamとかならFileNotFoundException
引用返信 編集キー/
■25879 / inTopicNo.7)  Re[6]: Application_Errorでエラー種別で分岐するには
□投稿者/ トヨ (3回)-(2008/09/26(Fri) 17:56:12)
PATIOさん、ロックさん、朱雀さん返信ありがとうございます。

PATIOさん
 Exceptionは、調べてはいたのですが見つけれていません。

ロックさん
 application_error asp.net 404で検索したことはあるのですが、
 customErrorsの話ばかりで、どうやって分岐するかを見つけることはできていません。

朱雀さん
 FileNotFoundExceptionを投げてくれていればよかったのですが、
 HttpExceptionを投げてきます。。。

ありがとうございます。
Exception関係とapplication_error周りを
もうすこし、調べてみようと思います。

引用返信 編集キー/
■25883 / inTopicNo.8)  Re[7]: Application_Errorでエラー種別で分岐するには
□投稿者/ みきぬ (110回)-(2008/09/26(Fri) 18:21:55)
No25879 (トヨ さん) に返信
>  FileNotFoundExceptionを投げてくれていればよかったのですが、
>  HttpExceptionを投げてきます。。。
>
「投げられた例外がHttpException」かつ「HttpException.GetHttpCode()の値が404」という条件で判断すればええんじゃない?
引用返信 編集キー/
■25894 / inTopicNo.9)  Re[8]: Application_Errorでエラー種別で分岐するには
□投稿者/ Jitta on the way (184回)-(2008/09/26(Fri) 20:36:40)
No25883 (みきぬ さん) に返信
> ■No25879 (トヨ さん) に返信
>> FileNotFoundExceptionを投げてくれていればよかったのですが、
>> HttpExceptionを投げてきます。。。
>>
> 「投げられた例外がHttpException」かつ「HttpException.GetHttpCode()の値が404」という条件で判断すればええんじゃない?

Exception が、全ての例外クラスの派生元で、全ての例外クラスは Exception クラスにキャスト出来る………ってことを知ってないと、わかんないのかなぁ?と思った。



GetType とか、is 演算子とか、typeof 演算子とか。

ケータイからは、プログラムが打ちにくいのよ

if (e is typeof HttpException) {
HttpException he = e as HttpException;
switch (he.ErrorCode) {
case 404:
}
}


こんなだったかな?
引用返信 編集キー/
■25933 / inTopicNo.10)  Re[9]: Application_Errorでエラー種別で分岐するには
□投稿者/ 朱雀 (15回)-(2008/09/28(Sun) 14:25:35)
No25894 (Jitta on the way さん) に返信
> こんなだったかな?
見やすい形で一例。
ifはロジックパスわかりやすくするために使ってるだけなので
好きな方法で実装するよろし

if(ex is HttpExeption){
    HttpException he = ex as HttpException;
    
    if(he.GetHttpCode() == 404){
        //何もしない
    }else{
        //メール送信するパターン
    }
}else{
    //メール送信するパターン
}

引用返信 編集キー/
■25978 / inTopicNo.11)  Re[10]: Application_Errorでエラー種別で分岐するには
□投稿者/ トヨ (4回)-(2008/09/29(Mon) 13:52:41)
みきぬさん、Jitta on the wayさん、朱雀さん、返信ありがとうございます。

みなさんが言われている通りに実装することで、
404を分岐することができました。

返信をくれた方々、ありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -