意図的に例外を起こす為のthrowの使い方として、
参考書には下記の例が挙げられているのですが、3つ質問があります。
※「~省略~」としている箇所は参考書上でも実際に記載が省略されています。
①内側のtryの「エラーを含んだ処理」とは具体的にどんなものが入るのでしょうか。
②下記の例ではtry内に更にtry-catchを記載していますが、普通のtry-catchとの違いがよく分かりません。
③e1.Messageは読み取り専用とのエラーが出てしまいます。
よろしくお願いいたします。
try{ ~省略~ try{ ~省略~ ←エラーを含んだ処理 } catch (Exception e1) { Eception e1 = new Exception(); e1.Message = "エラー"; throw.e1; } } catch(Exception e2){ Console.WriteLine(e2.Message); }
2022/5/1 追記
上記のコードは実際に参考書に書いてあります・・・笑
随分ひどいようなので他の本を使おうと思います。

① System.IO.File.ReadAllLines("aaaaa");
② 内側で throw したものを catch するため
③ e1.Message には代入できないから
とりあえずこの参考書はやめましょう。
本当にこんなのが売られていましたか?
ろくでもないコードです。
> 参考書には下記の例が挙げられているのですが
参考書の書籍名を教えてください。
みなさま回答ありがとうございます。
使用した参考書はこちらです。↓のURLはアマゾンですが、私は図書館で借りました。
C#の絵本 (株)アンク著
https://www.amazon.co.jp/C-%E3%81%AE%E7%B5%B5%E6%9C%AC-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%82%A2%E3%83%B3%E3%82%AF-ebook/dp/B00NV5L802
こういう本を売っているんですね。特に以下の部分は信じがたいほどメチャクチャなんですが、何かも勘違いとかはないですか?
catch (Exception e1) {
Eception e1 = new Exception();
e1.Message = "エラー";
throw.e1;
}
> 2022/5/1 追記
> 上記のコードは実際に参考書に書いてあります・・・笑
> 随分ひどいようなので他の本を使おうと思います。
画像を拝見しました。それは例外処置の一般的・基本的な方法の説明とかではなくて、何か別のことを説明したくて、それが本文や赤い矢印で説明してあるのではないですか? たぶん、そこを質問者さんが理解でされてないような気がしますけど、違います?
・・・と思いましたけど、それでもやっぱり e1.Message = "エラー"; が変ですね。
画像差し替えました。
ご確認お願いいたします。
回答2件
あなたの回答
tips
プレビュー