演習課題「例外メッセージを指定しよう」
右のコードでは、 Hello Word,answer,Hello C#を出力しますが、100を0で代入したnumber変数で割るため、例外が発生してしまいます。
このプログラムで、例外が発生した時に、標準エラー出力に下記のメッセージを表示して下さい。
プログラムを実行して、想定どおり出力されれば演習課題クリアです!
期待する出力値
Hello World
Hello C#
期待する標準エラー出力値
0では割り算できません
#03:いろいろな書式で例外に対応しよう
いろいろな形で例外に対応します。分かりやすいエラーメッセージを追加してみましょう。
// いろいろな書式で例外に対応しよう
using System;
class Lesson10
{
public static void Main()
{
Console.WriteLine("Hello World");
try
{
int number = 0;
int answer = 100 / number;
Console.WriteLine(answer);
}
catch (Exception e)
{
Console.Error.WriteLine("0では割り算できません");
Console.Error.WriteLine(e);
// Console.WriteLine(e.Message);
}
finally
{
Console.WriteLine("Hello C#");
}
}
}
メソッド | 出力先 | paiza.IOでの出力先 |
---|---|---|
Console.Error.WriteLine | 標準エラー出力 | 実行時エラー |
標準エラー出力とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
https://wa3.i-3-i.info/word11638.html
Console.Error Property (System) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/api/system.console.error?view=netframework-4.8
例外処理 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
https://ufcpp.net/study/csharp/oo_exception.html
例外と例外処理 - C# プログラミング ガイド | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/exceptions/
Exception Class (System) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/api/system.exception?view=netframework-4.8