- - PR -
【ASP.NET】クラス内で発生したエラーの捕らえ方
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-30 09:06
Jittaさん、おはようございます。
早速、読ませていただきました。結構、衝撃的事実なんですけど(^_^;) .NET 初心者なので、入門書やネットを見ながらコードを書いているんですが、当然のごとく、「例外は、Try 〜 Catch 〜」での通り記述しています(;_;) VS.NET(VB.NET)の場合、「Try」と記述し、リターンキーを押すと勝手に Catch句は自動で書いてくれるという親切(?)を利用しています。 明確には言えないとは思いますが、どの辺で発生都度キャッチすべき例外と一括(Application_Error に任せる)でキャッチすべき例外とを区別したら良いのでしょうか。一般論でも良いので、教えていただけると助かります。 | ||||||||
|
投稿日時: 2006-03-30 09:11
リンク先にもそのあたりは間接的に触れているかと思います。 私もひとつ前のレスで、 > 本当に予期しない例外は「業務続行不可能」な例外なので、 > Application.ThreadException にお任せした方が良いです。 > 臨機応変ではありますが、予期しないものは何もしない方が良いです。 と既に書かせて頂いております。 ちょっと書き方がまずかったかもしれませんね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-03-30 09:17
手前味噌ですが…
例外をインターセプトすべきか _________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2006-03-30 09:39
じゃんぬさん、囚人さん、お返事ありがとうございます。
分かりやすいですね。みなさんがご自分の考えをコメントしているのも大変参考になります。 開発時に、このような問題に気付けて良かったです。運用後だったら・・・ 個人的には、業務的なエラーはキャッチし、それ以外のシステム的なエラーやバグは一括で管理しようかな、と考えております。
すいません。何気に Throw してましたね(^_^;) 初心者なもので、事の重大さに気付けませんでした。 ゴールキーパー失格ですm(_ _)m | ||||||||
|
投稿日時: 2006-03-30 10:15
メソッドを Shared にしているのが何気に気になる。
# 気にし過ぎかな... | ||||||||
|
投稿日時: 2006-03-30 10:22
例にある DBAccess クラスには資源となりえるデータが何もないですし、 メソッド内で解決しているので、インスタンス メンバである必要はないですね。 ただの抜粋かもしれませんけど。(そこまでは読めません...) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-03-30 10:40
ふむ。 この辺自分の勉強不足にて申し訳ないのですが、メソッドを Shared にした場合、メソッド内にて定義されている変数は Shared とはならないでしょうか? # スレ脱線失礼 [追記] とよくよく考えたら...ならない...か。 [ メッセージ編集済み 編集者: えんぞ@? 編集日時 2006-03-30 10:45 ] | ||||||||
|
投稿日時: 2006-03-30 11:30
すみません、意味がちょっと理解できていないかもしれません。 メソッド内の変数はローカル変数ですよね。 メソッドがインスタンス メンバであろうと共有メンバであろうと、 もとから別領域に展開されるものですから関係ないと思います。 でなければ、VB のモジュール (StandardModuleAttribute な Class) が大変な事態になります。(;^-^) もしかして、旧 VB のプロシージャに Static を修飾することと混同していますか? あれは、ローカル変数に Static がついている動作になります。 C# が static であるのに対し VB が Shared になったのはこのあたりの理由でしょうけど。 それとも、スレッド セーフ関係の心配なのでしょうか? そうであれば、むしろ選択は逆になるので違うと踏みましたが。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |