開発環境
- 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 コメント:
コメントを投稿