開発環境
- OS: Windows 10 Pro
- IDE(統合開発環境): Visual Studio Community 2017
初めてのC# 第2版 (Jesse Liberty (著)、Brian MacDonald (著)、日向 俊二 (翻訳)、オライリージャパン)の16章(例外)、16.12(練習問題)、練習16-2.を取り組んでみる。
コード
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
List<Cat> cats = new List<Cat>();
for (int i = -5; i < 5; i++)
{
cats.Add(new Cat(i));
}
CatManager(cats);
}
public static void CatManager(List<Cat> cats)
{
foreach (Cat cat in cats)
{
try
{
if (cat.Age <= 0)
{
throw new CustomCaError("猫の年齢が0以下: " + cat.Age);
}
Console.WriteLine(cat.Age);
}
catch (CustomCaError e)
{
Console.WriteLine(e.Message);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
Console.WriteLine("Catオブジェクトの割り当ての解除");
}
}
}
}
public class Cat
{
private int age;
public Cat(int age)
{
this.age = age;
}
public int Age
{
get { return age; }
set { age = value; }
}
}
public class CustomCaError : Exception
{
public CustomCaError(string message) : base(message)
{
}
}
入出力結果(コマンドプロンプト)
猫の年齢が0以下: -5 Catオブジェクトの割り当ての解除 猫の年齢が0以下: -4 Catオブジェクトの割り当ての解除 猫の年齢が0以下: -3 Catオブジェクトの割り当ての解除 猫の年齢が0以下: -2 Catオブジェクトの割り当ての解除 猫の年齢が0以下: -1 Catオブジェクトの割り当ての解除 猫の年齢が0以下: 0 Catオブジェクトの割り当ての解除 1 Catオブジェクトの割り当ての解除 2 Catオブジェクトの割り当ての解除 3 Catオブジェクトの割り当ての解除 4 Catオブジェクトの割り当ての解除 続行するには何かキーを押してください . . .
0 コメント:
コメントを投稿