[過去ログ] ふらっと C#,C♯,C#(初心者用) Part154 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
482:  (ワッチョイ e201-Uyzu) 2022/04/15(金)13:37 ID:1joR/OE70(1) AAS
 >>481 
 画像リンク
 
 
483:  (アウアウウー Sabb-55Lb) 2022/04/15(金)18:49 ID:ZZd0jnz9a(1) AAS
 おまえら・・・GJ! 
484(2):  (ワッチョイ 1fbd-DvUi) 2022/04/17(日)12:25 ID:D0SaeSYI0(1) AAS
 フォームアプリ作成が主体として、GW本でも読もうと思うんだけどおすすめの本ありますか? 
485:  (ワッチョイ 9779-skhS) 2022/04/17(日)14:36 ID:HNDmidds0(1) AAS
 ない 
486:  (ワッチョイ 97ad-HCi4) 2022/04/17(日)18:32 ID:3icLqeK70(1) AAS
 >>484 
 作りたいアプリを考えて実装しながら勉強が捗る 
487:  (ワッチョイ 5736-XhrW) 2022/04/18(月)17:43 ID:YFSVkBgS0(1/6) AA×

488:  (ワッチョイ 9fad-29Va) 2022/04/18(月)18:33 ID:U6PNIZM80(1/3) AAS
 そもそも投げない 
 デバッグ目的なら例外じゃなくてその時点でメッセージボックス使って表示させるし 
 例外の場合、投げた例外メッセージが必ずしもユーザ(この場合はデバッグしている人)に届くとは限らないと思うし 
489:  (ワッチョイ 3702-2+F3) 2022/04/18(月)18:45 ID:CqNrq1/C0(1/3) AAS
 そもそもswitchの必要ある?三項演算子で十分では 
490:  (ワッチョイ 9fad-29Va) 2022/04/18(月)18:52 ID:U6PNIZM80(2/3) AAS
 いやwそこは例と言っているから重要ではない気がするがw 
 例えが悪いってのはわかるけどさw 
491(1):  (ワッチョイ 3702-2+F3) 2022/04/18(月)19:06 ID:CqNrq1/C0(2/3) AAS
 絶対に到達しないって判りきってるなら、別にロジック入れんでいいんじゃないの? 
 その例だとdefaultを奇数だよにしてもええし 
492:  (ワッチョイ ffbb-KI6G) 2022/04/18(月)19:08 ID:8tbUw4/P0(1) AAS
 正解はわからんけど俺ならException継承してそれ専用のクラス作るな 
 ぶっちゃけ既存のほにゃらかExceptionは使い所合ってるかよく分からんもの多くて困ることあるし 
493:  (アウアウウー Sa1b-MZ5k) 2022/04/18(月)19:09 ID:OZ/Iewlqa(1/2) AAS
 この二行だな 
 debug.assert(false); 
 throw new exception(); 
494(1):  (ワッチョイ 7f2d-XhrW) 2022/04/18(月)19:12 ID:0xI2lblg0(1) AAS
 >>491 
 もう少し質問者の意図を読もうよ… 
495(1):  (ワッチョイ 3702-2+F3) 2022/04/18(月)19:14 ID:CqNrq1/C0(3/3) AAS
 >>494 
 エスパーじゃないし、知らんがな 
 > また、特に正解がなければ、皆さんのならどうするかを教えていただけると嬉しいです。 
 て書いてあるし、ワイならこうするっての書いたから別にええやろ 
496:  (アウアウウー Sa1b-MZ5k) 2022/04/18(月)19:26 ID:OZ/Iewlqa(2/2) AAS
 www 
497:  (ブーイモ MMbb-3xp7) 2022/04/18(月)19:31 ID:QSalzxoDM(1) AAS
 >>495 
 おバカ自慢要らない 
498:  (ワッチョイ 9fad-29Va) 2022/04/18(月)19:56 ID:U6PNIZM80(3/3) AAS
 上の例のようにわかりきっているコードはまあそうなんだけど“例”と言うようにわかりやすく示しているに過ぎず 
 極論を言えば、自分で見返してみても何このカオスな複雑怪奇でスパゲッティなコードがあってfuncの戻り値(Result)が0〜10の偶数値のみのはずだけど 
 funcが呼び出すfunc1からfunc10のどこかに不具合があって負数や奇数、または11以上がResultに入ってしまう可能性を否定することができない場合 
 とか 
499:  (ワッチョイ 9779-skhS) 2022/04/18(月)20:04 ID:TPGSz3ry0(1) AAS
 funcXメソッドから呼ばれているメソッドはツリー状になっており 
 そのメソッド総数は2586個で 
 全部で12566個の例外を発生させうる 
 すごいでしょ? 
500:  (ワッチョイ 5736-XhrW) 2022/04/18(月)20:12 ID:YFSVkBgS0(2/6) AAS
 たくさんのアドバイスどうもありがとうございます。 
 あまり良い例が用意できず申し訳ありません。 
501(1):  (ワッチョイ 5736-XhrW) 2022/04/18(月)20:14 ID:YFSVkBgS0(3/6) AAS
 申し訳ありません。続きを書き込みたいのですが、 
 「レスアンカーがおかしいです」と言うエラーが出てしまっています。 
502:  (ワッチョイ 5736-XhrW) 2022/04/18(月)20:15 ID:YFSVkBgS0(4/6) AAS
 488 様 489 様 491 様 
 確かにおっしゃり通りですね。 
 ただ、状況によってはやはり例外を投げたくなることもありまして、 
 それをどうやって説明しようかと考えていたところ 498 様がとてもわかり易く 
 まとめてくださったので、よければそちらを見ていただけると嬉しいです。 
  
 492 様 
 なるほど! 
 つまり、おそらく初めからこういう目的で用意されている例外はないだろうということですね。 
 最初は InvalidProgramException が丁度いいかと考えていたのですが、 
 詳しいクラスの説明を読むとどうやら別の目的で使われる例外のようですし、 
 おっしゃるとおり、自分でクラスを作るのが一番のような気がしてきました。 
  
 493 様 
 アドバイスどうもありがとうございます。これも良いアイディアだと感じました。 
 意味的には一行目だけで十分だけれど、 
 それだけではコンパイルが通らないから二行目も書こうということですよね。 
 NotNullIfNotNullAttribute ならぬ ThrowExceptionIfFalseAttribute みたいなものが 
 Debug.Assert に付けられていて二行目がなくてもコンパイルできたらいいのにな、 
 なんて妄想してしまいました。 
503:  (ワッチョイ 5736-XhrW) 2022/04/18(月)20:16 ID:YFSVkBgS0(5/6) AAS
 エラーの原因がよくわからなかったので、 
 やむを得ずレスアンカーを使うのを諦めました。 
 読みにくくて申し訳ありません。 
504(1):  (ワッチョイ 9f01-0UVf) 2022/04/18(月)20:25 ID:wKhqv1yX0(1/2) AAS
 まあこの手の話はあちらでも挙げられてて結局しっくりくる例外はないってことになってる 
 外部リンク:stackoverflow.com 
 MS的には System.Diagnostics.Debug.Fail() 使えやってことなんだろうね 
 どうしても例外上げるなら自前でLogicErrorExceptionとかを作るのが良いと思う 
505(2):  (ブーイモ MMcf-m76R) 2022/04/18(月)20:28 ID:0OwrwjlVM(1/2) AAS
 MS自身のコードだと、throw AssertUtil.Unreachable; みたいなのはよくあるよ 
 Unreachable はプロパティで、UnreachableException みたいなinternalなカスタム例外をnewして返してるだけ 
506: 505 (ブーイモ MMcf-m76R) 2022/04/18(月)20:39 ID:0OwrwjlVM(2/2) AAS
 一般に、アサーション目的で投げる例外は誤ってキャッチされる可能性の低い型であれば何でもよい 
 その意味では>>505のようにinternalな例外を定義して使うのが望ましいだろうね 
 必ずしも>>505の例のようにわざわざプロパティを定義する必要はないけど、あえてそうする理由としては 
 ・いちいち throw new UnreachableException("No way!"); みたいにメッセージ書くのは面倒 
 ・かといって空にすると、チームによっては静的チェックで例外にはメッセージを設定しろとか言われたりして面倒 
 といったところだろう 
507:  (ワッチョイ 5736-XhrW) 2022/04/18(月)20:39 ID:YFSVkBgS0(6/6) AAS
 >>504 >>505 
 ありがとうございます。とても勉強になります。 
 やはり、例外を使いたいなら自分で作る、という方針で考えたいと思います。 
508(1):  (ワッチョイ 9f01-0UVf) 2022/04/18(月)21:02 ID:wKhqv1yX0(2/2) AAS
 >>501 
 「レスアンカーがおかしいです」は4つ以上のアンカーがあると出るみたい 
 > 488 様 489 様 491 様 
 みたいなのは 
 ≫488-489,491 
 のように纏めたら1アンカーと解釈されたりするので工夫したらなんとかなることもあるよ 
509(1):  (ワッチョイ b72c-+1fN) 2022/04/19(火)18:37 ID:eV3D0rVm0(1) AAS
 >>484 
 ない、っちゅうか買う必要ないだろ 
 今の時代ググってしらべりゃC#はほとんど見つかる 
 俺がプログラム関係の本買ったのははるか昔Win95の時代にC++のMSDN本2冊合わせて厚さ10cmくらいあったような 
 それ以降1冊も買ってない 
510(2):  (テテンテンテン MM8f-IQiQ) 2022/04/19(火)19:13 ID:bNSjpDXdM(1) AAS
 俺はこの類で絶対に到達しないdefaultに突入してくる不具合踏んだことあるわ。 
 ハードの電源ラインに特定の時間帯だけノイズはいってた。 
511(2):  (ワッチョイ b72f-mbkD) 2022/04/19(火)19:51 ID:x6ztzldE0(1) AAS
 >>510 
 それはc#での話なのか? 
 cで低レベル制御とかならあり得るかもしれんが 
 ハード層が高度に抽象化されてる環境で起こるとは思えんが 
上下前次1-新書関写板覧索設栞歴
あと 491 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.045s