回答編集履歴
3
引用マークが落ちていたので追加
test
CHANGED
@@ -43,11 +43,11 @@
|
|
43
43
|
|
44
44
|
余計なものを catch しないよう、PK 制約違反が発生するコード一行のみを囲む。
|
45
45
|
|
46
|
-
②下記の例ではtry内に更にtry-catchを記載していますが
|
46
|
+
> ②下記の例ではtry内に更にtry-catchを記載していますが
|
47
47
|
|
48
48
|
外側の try はどこで例外が発生しても必ず connection.Close(); に制御が飛んで接続リークを防止するため。内側の try は上に説明した通り。
|
49
49
|
|
50
|
-
③e1.Messageは読み取り専用とのエラーが出てしまいます。
|
50
|
+
> ③e1.Messageは読み取り専用とのエラーが出てしまいます。
|
51
51
|
|
52
52
|
質問のコードの内側の catch 内のコードはメチャクチャで議論の対象になるようなものではありません。Exception を catch することがあるとすると、例えば、原因不明の問題が発生していてその調査のためログを取るためぐらいでしょうか。ログを取ったら即 throw し、それをランタイムに拾わせてアプリケーションを停止させます。
|
53
53
|
|
2
訂正
test
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
|
46
46
|
②下記の例ではtry内に更にtry-catchを記載していますが
|
47
47
|
|
48
|
-
外側の try はどこで例外が発生しても必ず connection.Close(); に制御が飛んで接続リークを防止するため
|
48
|
+
外側の try はどこで例外が発生しても必ず connection.Close(); に制御が飛んで接続リークを防止するため。内側の try は上に説明した通り。
|
49
49
|
|
50
50
|
③e1.Messageは読み取り専用とのエラーが出てしまいます。
|
51
51
|
|
1
追加
test
CHANGED
@@ -49,7 +49,7 @@
|
|
49
49
|
|
50
50
|
③e1.Messageは読み取り専用とのエラーが出てしまいます。
|
51
51
|
|
52
|
-
catch 内のコードはメチャクチャで議論の対象になるようなものではありません。Exception を catch することがあるとすると、例えば、原因不明の問題が発生していてその調査のためログを取るためぐらいでしょうか。ログを取ったら即 throw し、それをランタイムに拾わせてアプリケーションを停止させます。
|
52
|
+
質問のコードの内側の catch 内のコードはメチャクチャで議論の対象になるようなものではありません。Exception を catch することがあるとすると、例えば、原因不明の問題が発生していてその調査のためログを取るためぐらいでしょうか。ログを取ったら即 throw し、それをランタイムに拾わせてアプリケーションを停止させます。
|
53
53
|
|
54
54
|
|
55
55
|
参考に、.NET アプリの例外処置について Microsoft Bolg に書いてあったことを要約して紹介しておきます(Bolg は今はリンク切れです)。
|