【課題2-03】例外のスロー
プロジェクトタイプ | C#コンソールアプリ※ |
---|
プロジェクト名 | Prac_2_03 |
---|
ソリューション名 | PET2 |
---|
ターゲットフレームワーク | .NET 6.0 (長期的なサポート) |
---|
最上位レベルのステートメントを使用しない | 使用しない(チェックオン) |
---|
_ではあらかじめdouble
型の変数quux
が宣言されており,何らかの実数が代入されている.
この変数quux
の値をチェックして,その値が-10.0
以下ならば,InvalidOperationException例外を投じるプログラムを作成せよ.
その際のエラーメッセージは「変数 quux の値が -10.0 以下です.
」とすること.
注意
- この設問ではコンソール(黒画面)への表示処理を作る必要はない.
プログラムの概形は_のようにすること(必ず以下をコピーしProgram.cs
全体を上書きすること).
テンプレートコード 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| namespace Prac_2_03
{
class Program
{
static void Main(string[] args)
{
try
{
// テスト対象の変数(変更してはならない)
double quux = GetSecretValue();
/**********************************************************************/
/* */
/* 空欄: 変数 quux の値をチェックしてその値が -10.0 以下ならば, */
/* InvalidOperationException 例外を投じる. */
/* その際のエラーメッセージは */
/* 「変数 quux の値が -10.0 以下です.」とする. */
/* */
/**********************************************************************/
// 表示処理(変更してはならない)
Console.WriteLine($"quux : {quux}");
}//try
catch (InvalidOperationException ex) // 例外処理(変更してはならない)
{
Console.WriteLine(ex.Message);
}//catch
}// end of Main()
#region ここは変更してはならない
static Random sRandom = new Random(3263);
static double GetSecretValue() => Math.Round(-50 + 100 * sRandom.NextDouble(), 2);
#endregion
}// end of class Program
}// end of namespace
|
正しく実装できた場合,実行結果は_のようになる.
変数 quux の値が -10.0 以下です.
実行結果ヒント
InvalidOperationException
例外とは,C#にあらかじめ用意されている「不正な操作が行われた」ということを示す例外クラスの一つである.- この例外クラスもほかの例外クラスと同じく,コンストラクタに文字列型の引数を与えることで例外メッセージを指定することができる.
- つまり「
new InvalidOperationException(
例外メッセージ
)
」のようにすれば,このクラスのインスタンスを生成できるのでこれをthrow
文に指定すればよい.
Last updated on 2023-11-28
Published on 2023-11-28