VB.NET質問スレ (Part17)

このエントリーをはてなブックマークに追加
838デフォルトの名無しさん
おい、みんな〜

例外キャッチは、Exception型で全部済ませてるよな?
839デフォルトの名無しさん:2006/10/18(水) 00:49:16
キャッチなんてごく一部しか書かない。
840デフォルトの名無しさん:2006/10/18(水) 00:59:14
まじで?
とりあえず全部のコードTryCatchで括って、Exceptionで受ける
ってみんな書いてないのか・・・
841デフォルトの名無しさん:2006/10/18(水) 01:06:54
ごく一部ってのは全プログラムコードで見たらごく一部のコードという意味だよ。
全部のコードってどういう意味?
一番外側的な(あるいはそれに近い)意味ならそういう感じになるのは分かるが。
あとは個別に処理してしまう場合だけな。
842デフォルトの名無しさん:2006/10/18(水) 01:48:14
俺は基本的に関数は全てtry〜catch〜finally〜。
JavaやPHP5では基本だろ。
843デフォルトの名無しさん:2006/10/18(水) 02:03:20
あほだね
844デフォルトの名無しさん:2006/10/18(水) 02:05:24
全ての関数で基本的にcatchも書くって、
そのcatch内でいったい何をしてるんよ?
finallyでいったい何してるんよ?
# まあ finallyの方はまだいいにしても
845デフォルトの名無しさん:2006/10/18(水) 02:14:46
想定できない例外はこれでキャッチすればいいんでないの?
http://www.atmarkit.co.jp/fdotnet/dotnettips/320appexception/appexception.html
846デフォルトの名無しさん:2006/10/18(水) 02:21:40
うんそうだね
847デフォルトの名無しさん:2006/10/18(水) 02:56:40
>>845
なんだよ、これ。
こんなの思いつかねーよ
848デフォルトの名無しさん:2006/10/18(水) 03:42:47
思いつくんじゃない、見つけるんだ。
849デフォルトの名無しさん:2006/10/18(水) 04:52:55
びっくりさせるなよー
ThreadExceptionイベントをハンドルして処理してるのは俺だけかと思ったよ、まじで。
お前らの常識はほんとあてにならないな。
850デフォルトの名無しさん:2006/10/18(水) 07:57:17
どんな常識かね?
851デフォルトの名無しさん:2006/10/18(水) 13:36:39
>>844
catchで例外の詳細をログに落としてる。
finallyでオブジェクトの開放。

普通じゃん。
852デフォルトの名無しさん:2006/10/18(水) 13:52:48
全メソッドで個別にログ出力かよ
853デフォルトの名無しさん:2006/10/18(水) 13:55:22
でエラー状況はどうやって返してるんだ?
まさか再スローじゃないだろ?
854デフォルトの名無しさん:2006/10/18(水) 14:25:18
>>852
全メソッドで個別ログを取らないと、詳細なログにならない。
いらなくなったら、ログるレベルを変えるだけ。

>>853
最上位がしっかり処理してるなら、
別に再スローでも良いんじゃない?
855デフォルトの名無しさん:2006/10/18(水) 15:08:48
全メソッドでログ出力&再スローってありえんだろ。
856デフォルトの名無しさん:2006/10/18(水) 15:11:28
catchされたもののログだろ?
全然ありえるじゃん。
857デフォルトの名無しさん:2006/10/18(水) 15:13:17
メソッド呼び出しの深さ分同じ例外のログ出力するんかい!
あと詳細ログ出せないっていうけど、
各メソッドで出すことでどれだけ詳細度があげられるんだ?
全メソッドでそれはありえんだろ。
858デフォルトの名無しさん:2006/10/18(水) 16:39:00
>>857
どのイベントから呼び出したどのメソッドの中にあるメソッドの…
と、経路と部位の特定が簡単になるのが、ダメなのか?
ユーザーが言うバグにも早く対応ができるし。

つーか、何に対してそこまでの否定を?
859デフォルトの名無しさん:2006/10/18(水) 16:39:16
すいません、VB.NET(2003)で質問です。
フォーム上にTextBoxが20個配置されていて、
例えばそれらにTB_1, TB_2, …TB_20 というようなコントロール名がついているとします。
これらのTextBoxをForループなどで一律に処理する方法はあるでしょうか。

具体的なイメージとしては
For i = 1 To 20
 ["TB_" & CStr(i) をコントロール名に持つTextBox].Text = data(i)
Next
みたいなことができるといいのですが。
要はコントロール名からオブジェクトを取得できればいいわけなんですけれど。
860デフォルトの名無しさん:2006/10/18(水) 17:19:22
>>859
Controlsプロパティでググれ
861デフォルトの名無しさん:2006/10/18(水) 17:25:02
>>858
StackTraceとか。
そもそもその例外を外に出すのか、内部で処理するのか、どちらが正しいってのはその関数の責務の問題になるし。
862デフォルトの名無しさん:2006/10/18(水) 17:57:38
>>861
StackTraceって>>858みたいな使い方できたっけだぜ?

あと、例外の処理は関数の責務というより、
プロジェクト全体、退いては会社などのポリシーによって統一されなければいけないもんだぜ。
派遣がたまに来て、ルールぶち壊す奴がいるが、
そういうのが一番アスホールになるんだべ?
863デフォルトの名無しさん:2006/10/18(水) 18:12:51
スタックトレースでほぼ見えるだろ。
全メソッドでそういうことするのはおかしいて言ってる。
.NETでの例外処理において、やってはいけないこと、に挙げられてるよ。
864デフォルトの名無しさん:2006/10/18(水) 18:14:35
>>863
誰が言ってるの?
何をやってはいけないの?
865デフォルトの名無しさん:2006/10/18(水) 18:17:33
全メソッドでException型でキャッチして再スローするようなこと。
866デフォルトの名無しさん:2006/10/18(水) 18:20:44
>>865
まあ、まずはソースだ。
MSが言ってるレベルだと信頼は無いからな。

大体、本当にやってはいけないことなら、コーディングレベルでエラーが出るだろ。
867デフォルトの名無しさん:2006/10/18(水) 18:23:09
ソース出せ
ああ、ベンダのいうことは信用できないから駄目だよ
868デフォルトの名無しさん:2006/10/18(水) 18:24:05
だったら.NETなんかつかわなけりゃいい
869デフォルトの名無しさん:2006/10/18(水) 18:26:53
例外のスローや再スローが非常に高コストなのは
常識だと思ってた。
ていうか、全メソッドでやるなら例外なんて仕組みいらんだろ。
870デフォルトの名無しさん:2006/10/18(水) 18:27:56
EUCコードのデータを取り込んで表示させるにはどうすればよろしいのでしょうか?
そのままだと文字化けしてしまうのでSJISやUTFに変換しないと駄目でしょうか?
871デフォルトの名無しさん:2006/10/18(水) 18:30:48
ゲームでも作ってるんじゃないからコストなんか考えない。
バグが出ない、修正やカスタマイズがし易い、何か起こったとき直ぐに場所と原因が突きとめられる。
VB.NETで重要なのはこの3点だけ。

メモリが足りないのなら、メモリを積め。
遅いのなら、速いマシンを買え。

コストをシビアに考えるなら、VBなんか使わねーよ
872デフォルトの名無しさん:2006/10/18(水) 18:30:58
独立したスレッド等、処理を断続させる場合だけ、TryCatch
それ以外は、イベントハンドルとして処理。
これでいいだろ。

全メソッドでTryCatchなんてありえん。
初心者と技術のない職場のポリシーだけだ。

873デフォルトの名無しさん:2006/10/18(水) 18:32:33
>>871
それは単なるお前の自論だろ。
874デフォルトの名無しさん:2006/10/18(水) 18:34:56
>>873
IBMで教わった持論なんだがな。
875デフォルトの名無しさん:2006/10/18(水) 18:36:02
>>872
VB6のときは、イベント内のみにしかイベントハンドルを書かなかった口か?
876デフォルトの名無しさん:2006/10/18(水) 18:38:51
>>871
try〜catch〜finally〜内にバグがないとも限らない。
一元管理されるほうが、どう考えても効率いいし、バグが入りにくい。
877デフォルトの名無しさん:2006/10/18(水) 18:40:02
>>875
どう解釈しても意味不明だわな


878デフォルトの名無しさん:2006/10/18(水) 18:44:20
グダグダだな
879デフォルトの名無しさん:2006/10/18(水) 18:46:36
>>876
それはリスクポリシーの取り方だろ。
可読性の良いコードなら、catchやfinallyにバグが入り込む可能性は低い。
try内の問題が直ぐ判別できるから尚良い。

つーか、1メソッド、try〜catch〜finally〜含めても、
コードなんて20行も無いだろ?
catch内でも2〜3行なもんだろ?
880デフォルトの名無しさん:2006/10/18(水) 18:47:08
>>870
ここ読んでみたら?
ttp://dobon.net/vb/bbs/log3-4/1733.html
881デフォルトの名無しさん:2006/10/18(水) 18:59:37
お前有り得ない例外処理が反乱してるのを見たことないのか?
882デフォルトの名無しさん:2006/10/18(水) 19:02:07
>>881
無いね。
危ない例外は完全に殺してしまうし、
例外処理用にかなりこなれた関数も用意してるし。
883デフォルトの名無しさん:2006/10/18(水) 19:10:21
>>879
>コードなんて20行も無いだろ?
そうとは限らないだろ・・・どんだけ規模の小さいプログラムよ
884デフォルトの名無しさん:2006/10/18(水) 19:11:34
>>882
例外処理用に関数用意するなら、

最初から、ThreadExceptionイベントをハンドルして処理するだけでいいだろが
885デフォルトの名無しさん:2006/10/18(水) 19:11:57
>>883
1メソッド20行にも納められないのかよ。
どんだけ、汚いプログラムだよw
886デフォルトの名無しさん:2006/10/18(水) 19:13:34
>>884
趣旨が間違えているぞ。
運用に入ってからでも、ユーザーに気付かれず、
簡単に且つ素早く、エラーを起こしている箇所を特定しなければならないんだよ。
887デフォルトの名無しさん:2006/10/18(水) 19:21:09
>>879
>可読性の良いコードなら、catchやfinallyにバグが入り込む可能性は低い。
可読性は関係ないだろー
そこにバグがあると動作中のバグがどこにあるのかわからないことだってある。
888デフォルトの名無しさん:2006/10/18(水) 19:25:03
>>886
ThreadExceptionイベントで、
簡単に且つ素早く、エラーを起こしている箇所を特定できない状況をおしえてくれよ。

そもそもユーザーに気づかれない機能って何だよ。
889デフォルトの名無しさん:2006/10/18(水) 19:26:55
つか、スタックトレースを知らないってオチはないよな…
890デフォルトの名無しさん:2006/10/18(水) 19:29:05
.NET the final frontier.
891デフォルトの名無しさん:2006/10/18(水) 19:31:54
ThreadExceptionイベントで取れるわけだが・・・
892デフォルトの名無しさん:2006/10/18(水) 19:38:11
スタックトレースは厳密な経路ではない
893デフォルトの名無しさん:2006/10/18(水) 19:42:18
結局スタックとレース以外でcatchやfinallyは必要ないってオチですか?


894デフォルトの名無しさん:2006/10/18(水) 19:45:00
厳密な経路ってどんなん?
スタックトレースでは困るほど異なるもんなのか?
895デフォルトの名無しさん:2006/10/18(水) 19:46:30
そんなに場所特定したいならpbd付けとけ
896デフォルトの名無しさん:2006/10/18(水) 19:47:08
pdbだorz
897デフォルトの名無しさん:2006/10/18(水) 19:47:53
全メソッドでExceptionをキャッチ
経路の詳細情報をログ出力
そして再スローって
具体的にどんなコードになるんだ?
898デフォルトの名無しさん:2006/10/18(水) 19:48:36
スタックトレースってReleaseとDebugで挙動が異なるんじゃなかった?
899デフォルトの名無しさん:2006/10/18(水) 19:50:41
ソースのパスと行番号が出るだけ
900デフォルトの名無しさん:2006/10/18(水) 19:50:49
>>897
あまりいじりたくないコードになりそうだなw
901デフォルトの名無しさん:2006/10/18(水) 19:51:24
どこで例外が起きてるかそこまでして知らなくてはならないということは、
どうしようもないパゲッティで、どっちらけなコードではないか?
902デフォルトの名無しさん:2006/10/18(水) 19:56:15
>>901
お前らのコードよりも見やすい自信はある。
但し、サブルーチンが多いので、奥まで入れてグチュグチュする必要はある。
903デフォルトの名無しさん:2006/10/18(水) 19:59:15
スパゲッティじゃんw
904デフォルトの名無しさん:2006/10/18(水) 20:13:17
>>903
なんだ?
お前はサブルーチンのないコードが正当だというのか?
普通、コメントや改行、宣言を除いて、メソッドで処理に書ける行は5〜10行だぞ。
それ以上長くなると、可読性のないコードになる。
それだと、一つ一つサブルーチンにしてしまった方が良い。
905デフォルトの名無しさん:2006/10/18(水) 20:16:00
厳密もなにも、メソッド内で得れる経路情報なんて、
ThreadExceptionイベントでも取得できますよ。

それにさ、メソッドごとに特化した例外処理なんて入れてたら、
それこそ、そこにまでバグが潜む可能性があるんだからさ、
決まり文句かくならThreadExceptionイベントで十分だろ。
906デフォルトの名無しさん:2006/10/18(水) 20:18:54
>>904
つまり、10000ステップのソースなら、
1000〜2000メソッドあるってことですね。
907デフォルトの名無しさん:2006/10/18(水) 20:20:29
>>906
つ共通化
908デフォルトの名無しさん:2006/10/18(水) 20:20:59
>>905
メソッド内の例外処理は全て同じ。
909デフォルトの名無しさん:2006/10/18(水) 20:22:52
行数が少ないほど可読性が高いと思ってるのか?
DBの正規化でも、同じことが言えるだろ?

簡単な電卓プログラムじゃないんだから。
910デフォルトの名無しさん:2006/10/18(水) 20:25:12
>>907
お前のステップ換算は共通化する前のソースなのか?

>>908
全て同じなのに、ThreadExceptionイベントでダメな理由は何?

911デフォルトの名無しさん:2006/10/18(水) 20:26:39
ま、どうでもいいけど、
たった1000ステップに100も200もメソッド作らんね。
912デフォルトの名無しさん:2006/10/18(水) 20:28:34
>>909
1024*768で、
一画面に収まるコードはマナーだろ。

>>910
関数化も共通化も終えての行数だ。
ステップ数じゃない。
913デフォルトの名無しさん:2006/10/18(水) 20:32:15
ここにいる連中はステップ数と行数の違いもわからないのか?

マジあきれた。
914デフォルトの名無しさん:2006/10/18(水) 20:34:12
一度その全て同じなコードを書いてみてくれ。
915デフォルトの名無しさん:2006/10/18(水) 20:36:10
その全て同じなコードが処理行数5〜10行の全てのメソッドに書いてあるのか?
916デフォルトの名無しさん:2006/10/18(水) 20:39:04
で、関数の数はいくつなん?
917デフォルトの名無しさん:2006/10/18(水) 20:39:36
>>915
全て同じなコード自体が1行のコードだがな
918デフォルトの名無しさん:2006/10/18(水) 20:40:38
>>916
言うほど多くない。
クラス設計できてたら大したことにならない。
919デフォルトの名無しさん:2006/10/18(水) 20:42:32
練習で作った電卓プログラムですってオチですか?
920デフォルトの名無しさん:2006/10/18(水) 20:43:02
なんかわけのわからんことで揉めてるな
正直、例外のトラップを一元化した方が好ましいって言う奴初めて見たよw
それ実践を踏まえて言ってるんだろうか。

それって、それこそN-BASICの時代のON ERROR GOTOじゃんw

いやそれならまだしも、その飛び先で例外オブジェクトをパースしないといけないんでしょ?
それじゃSDKのウィンドウプロシージャと一緒じゃんw
921デフォルトの名無しさん:2006/10/18(水) 20:44:24
俺の場合は最終的な例外処理はThreadExceptionとかの共通ハンドラ。
まあここではユーザ用メッセージの表示とログ出力位だが。
メインなロジック部分は、ロジックの最上位辺りで自動補捉してログ出力、必要に応じてラップその他の処理。
あとは個別に特に例外処理が必要な箇所だけキャッチして処理。

他の部分はキャッチなし。finallyのみ。
922デフォルトの名無しさん:2006/10/18(水) 20:45:10
ちゃんと.NETが提供してる機能があるんだから、
何も知らない初心者はすっこんでろ。
923デフォルトの名無しさん:2006/10/18(水) 20:48:28
一行でどうやって再スローまでやるんだ?
しかもExceptionをキャッチしてだろ?
全然特化してない例外処理しか出来ないのに、
これじゃ各メソッドでやる意味があるように見えないんだが…
924デフォルトの名無しさん:2006/10/18(水) 20:56:43
>>923
つ関数
925デフォルトの名無しさん:2006/10/18(水) 20:59:12
単にThreadExceptionのハンドラを使ったことがないから、よく知らないってオチでいいよ。
926デフォルトの名無しさん:2006/10/18(水) 21:01:20
Application.ThreadExceptionイベントスゲーウヒョー
927デフォルトの名無しさん:2006/10/18(水) 21:01:52
928デフォルトの名無しさん:2006/10/18(水) 21:27:44
           ∩_ 
          〈〈〈 ヽ
          〈⊃   }
  ∩___∩  |   |
  | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ < 次いこうぜ〜
 彡、   |∪|  /
/ __  ヽノ /
(___)   /
929デフォルトの名無しさん:2006/10/18(水) 21:41:33
そんな事したらスタックトレース消えるだろうがよ。
それに変なメソッドが例外のソースになるだろうがよ。

お、ひょっとしてそれでスタックトレースみれてないのか?
もし仮にそうだとしたらあほとしかいいようがない。
930デフォルトの名無しさん:2006/10/18(水) 21:45:39
>>920個別に処理してしまう例外はその場でキャッチするに決まってるだろ。
それ以外の例外だよ、まとめて処理するのは。
全メソッドでExceptionをキャッチするなら、
同じようにパースが必要になるんじゃないのか?
931デフォルトの名無しさん:2006/10/18(水) 21:56:07
もういいよ、既に決着はついてる。
932デフォルトの名無しさん:2006/10/18(水) 22:01:34
>>920はあふぉうだから相手にするな
933デフォルトの名無しさん:2006/10/18(水) 22:03:46
>>930
それ以外って何だよw

いや、@ITの記事にも書いてあった気がするが
想定外の例外が起きた場合の「保険」的な意義は大いにあるよ。

それにそういう想定外の例外の場合、いきなりあの無愛想なデフォの例外のダイアログが
出るより、別の何らかの表示をするようにした方がユーザーの心証もいいしね。

逆に言えばそれ以外の価値は一切認められないよ。
934デフォルトの名無しさん:2006/10/18(水) 22:08:21
だからさー
ThreadExceptionイベントをハンドルすればいいだけだろ。

どうしてもメソッド内で処理しないと困る例外だけ try〜catch〜を使えばOKだろ。
935デフォルトの名無しさん:2006/10/18(水) 22:09:52
そういうのを逆立ちした発想っていうんだよ
936デフォルトの名無しさん:2006/10/18(水) 22:12:02
じゃあさ、最初から出てる全メソッドでExceptionキャッチってなんなのよ?
全部想定されるException型なのかよ。
全メソッドで想定されるExceptionがあるのかよ。
多くのメソッドでは想定される例外なんてそうないだろに。
937デフォルトの名無しさん:2006/10/18(水) 22:13:37
誰も全ての例外を最上位でやるなんていってないのに。
938デフォルトの名無しさん:2006/10/18(水) 22:18:18
まずさ、
メソッド内で取得できるExceptionは、
Application.ThreadExceptionのイベントハンドラでも取得できるというのは解ってるよな?

それで、わざわざ全メソッドに同じ例外処理の内容を書く理由はあるのか?

939デフォルトの名無しさん:2006/10/18(水) 22:20:30
ネタかと思ったけど本当にパーなのね。
だから>>930の「それ以外」って何のこと?w
具体的に挙げてみ。

つーか、だいたい何のために構造化例外処理なんてものを導入した経緯が
あると思ってるんだ
940デフォルトの名無しさん:2006/10/18(水) 22:25:15
「それ以外」
同じ例外処理のことだろ?
941デフォルトの名無しさん:2006/10/18(水) 22:31:17
IDないからぐずぐずになってるスレ
942デフォルトの名無しさん:2006/10/18(水) 22:35:48
コテハンつけるかもしくはアンカー打ってくれ。
何がなんだかさっぱりわからんw
943デフォルトの名無しさん:2006/10/18(水) 22:35:52
だめだわけわかんね。
構造化例外は、全メソッドでException型をキャッチすることで何か意味があるとでも?
個別に処理してしまえる例外以外を具体的にって
いったいどういえと。
944デフォルトの名無しさん:2006/10/18(水) 22:37:02
全メソッドで全例外をキャッチするなら
構造化例外なんていらん
945デフォルトの名無しさん:2006/10/18(水) 22:40:05
>>939お前が個別に処理しなきゃならない例外を具体的に挙げろよ。
それで処理してしまえない残ったもの全部だよ。

パーとかいってんだからお前があげろ
ついでに全メソッドで例外をキャッチして再スローするメリットもな
946デフォルトの名無しさん:2006/10/18(水) 22:42:21
あと、個別にキャッチしてする例外処理は全部同じ処理だぜ
947デフォルトの名無しさん:2006/10/18(水) 22:45:13
意地張って、表現の仕方にケチつけるくらいしか出来ないんだよ。
実際まともな解答がひとつも無い。
948デフォルトの名無しさん:2006/10/18(水) 22:47:14
949デフォルトの名無しさん:2006/10/18(水) 22:49:06
まあ愚か者は経験からしか学ばないわけでw
いや経験から本当に学んでいるかどうかも怪しいわけだが。

構造化例外処理の意義がどこにあるか?
それはThreadExceptionで一元的にトラップするように書いた自分のコードを
一年後にメンテしてみればたぶんよくわかるよ。

まあそれでわからなきゃ本当にパーだわ。
950デフォルトの名無しさん:2006/10/18(水) 22:50:43
>>949
根拠も具体例もないただの自論だな
951デフォルトの名無しさん:2006/10/18(水) 22:53:54
誰も全て一元化するなんていってない

いいから全メソッドでExceptionをキャッチして以下省略のメリット書けや。
構造化例外はそのためにあるんだろ?
おかけでメンテも楽になるんだろ?
お前の経験でこんなメリットてのを書けよ
952デフォルトの名無しさん:2006/10/18(水) 22:53:58
>>950
トンデモさんにとってはアインシュタインの相対性理論も「根拠のないただの持論」らしいからなw
まともなプログラマやソフトウエア工学の学者で構造化例外処理を否定してる奴が
一人でもいたら教えてくれよ。
953デフォルトの名無しさん:2006/10/18(水) 22:54:56
ついに構造化例外処理を否定してることになったぜ。
954デフォルトの名無しさん:2006/10/18(水) 22:56:23
>>951
何か勘違いしているようだが、メソッド全体をTry〜ブロックに入れろ、
なんてトンデモをいっている奴は一人もいないと思うぞw

ただThreadExceptionイベントなんぞには保険的な意味合いしかないと
言っている奴がいるだけだ。
955デフォルトの名無しさん:2006/10/18(水) 22:58:03
>>952
お前は馬鹿か?

「全メソッドに同じ例外処理の内容を書く理由はあるのか? 」
この質問に、根拠のないただの持論で誰が納得するんだ?

メリデリをしっかり挙げてくれないとお話にならないだろ。
956デフォルトの名無しさん:2006/10/18(水) 22:58:39
>>953
自分の言っていることがわからないんだから病膏肓だねw
ThreadExceptionイベントなるものに保険以上の意味を認めるってことは
構造化例外処理を否定しているってことだ。

だから>>930の「それ以外」とは何かと聞いているだろう
957デフォルトの名無しさん:2006/10/18(水) 23:01:56
例外トラップとかはAOPしたいんだけど、catchの方はEventに投げるとしてもFinallyの方がやり様がないよね
958デフォルトの名無しさん:2006/10/18(水) 23:02:02
構造化例外処理といいながら、全メソッドに関数呼ぶ同じ1行ですか?ワラカシテクレルゼ
959デフォルトの名無しさん:2006/10/18(水) 23:05:04
>ThreadExceptionイベントなるものに保険以上の意味を認めるってことは
>構造化例外処理を否定しているってことだ。

面白いこと言うんだな。

Try-Catch構文だと、例外を正しくトラップできないケースは多々あるのに対して、
ThreadExceptionイベントは確実にトラップできる。 これは事実だ。
960デフォルトの名無しさん:2006/10/18(水) 23:06:08
>>955
プログラミングの基本からわかってないようだから言っても無駄だと思うけど、
仮に例外処理に「共通の処理」があるとしたら普通はそれ自体をメソッドにして
「明示的に」それを呼び出すコードを書くんだよ。

馬鹿は自分の記憶力があてにならない、という事実すら忘れるんだろうけど
コードを書いたときには「ここで例外が発生した場合を俺は想定しているぞ。その場合は
ThreadExceptionのハンドラに飛んで・・・・・・」と思っていてもそんなことは
人は忘れてしまう。

まして最初からそんなこと知らない他人はどうなるんだよ。
961デフォルトの名無しさん:2006/10/18(水) 23:07:07
だからさ、ユーザ用のつうちをThreadExceptionでやるだけだろが。
それだけで構造化例外処理の意味がなくなるのかよ。そんなに言うならお前の言葉で構造化例外のメリットを説明しろ。
ついでにThreadExceptionを上記の様に使うだけで
構造化例外を否定してることになるという具体的にな説明もな
962デフォルトの名無しさん:2006/10/18(水) 23:07:22
なんでもかんでもCatchする方がよっぽど構造化例外処理を否定してると思うけどな
963デフォルトの名無しさん:2006/10/18(水) 23:09:33
>>960
> コードを書いたときには「ここで例外が発生した場合を俺は想定しているぞ。その場合は
> ThreadExceptionのハンドラに飛んで・・・・・・」と思っていてもそんなことは
> 人は忘れてしまう。
アホ。例外を想定してないからThreadExceptionで受けるんだよ。
想定してたらそれに応じた型の例外をその場でCatchして処理するわ。
おまえ全然分かってないな。
964デフォルトの名無しさん:2006/10/18(水) 23:11:09
全メソッドで共通なら全部書かなくても同じだろ
ついでだが、業務で開発とかだとまとめて一ヶ所で処理はやむをえないことも多い
965デフォルトの名無しさん:2006/10/18(水) 23:11:47
>>963
何を的外れな仮の話をしているんだい?
それが全メソッドに同じ例外処理を書く理由ですか?
966デフォルトの名無しさん:2006/10/18(水) 23:12:24
↑アンカーまちがい、>>960
967デフォルトの名無しさん:2006/10/18(水) 23:12:49
>>963
それなら俺が>>933で書いたことを否定する理由はないはずだが。
ま、馬鹿は自分の言っていることも人の言っていることもよくわからないんだねw
968デフォルトの名無しさん:2006/10/18(水) 23:13:22
見事に質問が埋もれてるな。

>>870
System.Text 名前空間の Encoding クラスを使って、
Encoding.GetString 使ったり StreamReader の引数に渡したりする。
969デフォルトの名無しさん:2006/10/18(水) 23:13:50
全メソッドにtrycatch書くってひとは、悪いけどトリップつけてくんない?
どれが馬鹿か分からなくって困るから
970デフォルトの名無しさん:2006/10/18(水) 23:15:17
>>969
だからそんな奴は最初からいません。
971デフォルトの名無しさん:2006/10/18(水) 23:17:18
972デフォルトの名無しさん:2006/10/18(水) 23:18:52
>>960
> コードを書いたときには「ここで例外が発生した場合を俺は想定しているぞ。その場合は
> ThreadExceptionのハンドラに飛んで・・・・・・」と思っていてもそんなことは
> 人は忘れてしまう。
意識する必要がないだろ。良く考えろよ。
全く同じ決まった処理なら、ThreadExceptionのイベントハンドラとして一箇所に書いてあるのだから意識不要。
そのメソッド内でどうしても必要なものだけ書けばいいんだから、よっぽど効率いいだろ?
973デフォルトの名無しさん:2006/10/18(水) 23:21:10
>>972
話の通じない馬鹿だなw
もういいよ一生やってな別に止めないし
974デフォルトの名無しさん:2006/10/18(水) 23:23:17
全メソッドにtrycatch書くってひとは、
具体的なメリデリが書けません。自論です。 ってオチですな。
975デフォルトの名無しさん:2006/10/18(水) 23:25:53
要は全メソッドでCatchしないと正体不明の例外が処理できなかった時代の
手法をそのまま引きずってるだけじゃないの?
FrameWorkがそんなことしなくてもいいように設計されてるのに。
976デフォルトの名無しさん:2006/10/18(水) 23:26:02
>>973
安心しろ、誰にも通じてない。
977デフォルトの名無しさん:2006/10/18(水) 23:26:03
いや、書いてはある。
ただ君に理解できないだけだ。
そういえばトンデモさんの常套句もそうだ。

アインタインは間違っているに違いない!
この俺様に理解できないのだから!
978デフォルトの名無しさん:2006/10/18(水) 23:27:14
せめて1人くらいには通じる話をしてくださいです〜
979デフォルトの名無しさん:2006/10/18(水) 23:29:03
>>977お前もう痛すぎるから
980デフォルトの名無しさん:2006/10/18(水) 23:34:57
関係ないけど、相対性理論の間違いは日本人によって正されつつある。
http://www.ni.bekkoame.ne.jp/tsuneizumi/
これくらいは解ってていってるんだろ?
981デフォルトの名無しさん:2006/10/18(水) 23:35:26
あなたにアインタイン
982デフォルトの名無しさん:2006/10/18(水) 23:36:20
AOPが一般化してるときになに一転だ。
全メソッドに同じ処理を書くべしって
983969:2006/10/18(水) 23:39:52
だからtry〜catchを前メソッドに書くのが良いんだよ。
ThreadException知らないやつでも、明示的に処理してるのが分かる。
チームプログラミングは、上のレベルであわせるのではなく、
VB.NET初めて3日のヤツでも理解できるように書いてやるんだよ。
いつまでも一定レベル以上の人間じゃないとメンテできないソースなんて、
人的コストが掛かりすぎてたまらんわ。
お前らみたいな優秀なやつらをメンテなんかで使いたくないんだぜ?
984デフォルトの名無しさん:2006/10/18(水) 23:42:16
つまり低レベルの人間に合わせた低レベルの手法ということですね。納得。
985デフォルトの名無しさん:2006/10/18(水) 23:45:21
明確にだめだと言われてるやりかただけどな。
て言うか、未だにその共通処理でなにやるのか分からん
986985:2006/10/18(水) 23:46:37
>>984
お前らみたいに視野の狭い連中は物作りさせるしか使い道が無いのよ。
987デフォルトの名無しさん:2006/10/18(水) 23:50:23
まあいかにもVB6でOn Error ResumeNextとか多用してたような奴が
考えそうなことなんだけどね
988983:2006/10/18(水) 23:52:42

\               U         /
  \             U        /
             / ̄ ̄ ヽ,
            /        ',      /     _/\/\/\/|_
    \    ノ//, {0}  /¨`ヽ {0} ,ミヽ    /     \           /
     \ / く l   ヽ._.ノ   ', ゝ \       <   バーカ   >
     / /⌒ リ   `ー'′   ' ⌒\ \    /          \
     (   ̄ ̄⌒          ⌒ ̄ _)    ̄|/\/\/\/ ̄
      ` ̄ ̄`ヽ           /´ ̄
           |            |  
  −−− ‐   ノ           |
          /            ノ        −−−−
         /           ∠_
  −−   |    f\      ノ     ̄`丶.
        |    |  ヽ__ノー─-- 、_   )    − _
.        |  |            /  /
         | |          ,'  /
    /  /  ノ           |   ,'    \
      /   /             |  /      \
   /_ノ /              ,ノ 〈           \
    (  〈              ヽ.__ \        \
     ヽ._>              \__)


989989:2006/10/18(水) 23:53:30
          /            ノ        −−−−
         /           ∠_
  −−   |    f\      ノ     ̄`丶.
        |    |  ヽ__ノー─-- 、_   )    − _
.        |  |            /  /
990デフォルトの名無しさん:2006/10/18(水) 23:54:26
>>983
だから、お前が言ってるのは、自論と、職場の規約や都合だけだろ・・・
991デフォルトの名無しさん:2006/10/18(水) 23:56:52
お前ら、俺の言うことはアインシユタインの言うことだぞ
理解できないやつはトンデモなんだぞ
992デフォルトの名無しさん:2006/10/18(水) 23:58:14
>>990
俺の職場のルールが正しければ、お前らが何て言おうと関係ない。
俺の会社はお前らみたいな零細とは違うんだからなqq
993デフォルトの名無しさん:2006/10/18(水) 23:58:20
とりあえずきっかけを作った>>838が悪いってことで終わりにしようぜ。スレも終わるし。
誰か次スレプリーズ。