Head First C#
頭とからだで覚えるC#の基本
(オライリージャパン)
Andrew Stellman (著), Jennifer Green (著)
佐藤 嘉一 (監修), 木下 哲也 (翻訳)
開発環境
- Microsoft Windows 8.1 Pro (VMware Fusion 6, OS X Mavericks - Apple) (OS)
- C# (プログラミング言語)
- Microsoft Visual Studio Express 2013 for Windows Desktop (統合開発環境, IDE)
Head First C#―頭とからだで覚えるC#の基本 (Andrew Stellman (著)、Jennifer Green (著)、佐藤 嘉一 (監修)、木下 哲也 (翻訳)、オライリージャパン)の8章(例外処理: 消化は時代遅れ)、プールパズル(p.359)を解いてみる。
プールパズル(p.359)
コード
Program1.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication1
{
static class Program
{
static void Main()
{
Kangaroo joey = new Kangaroo();
int koala = joey.wombat(joey.wombat(joey.wombat(1)));
try
{
Console.WriteLine((15 / koala) + " 個の卵");
}
catch (DivideByZeroException)
{
Console.WriteLine("こんにちは!");
}
}
}
class Kangaroo
{
FileStream fs;
int croc;
int dingo = 0;
public int wombat(int wallaby)
{
dingo++;
try
{
if (wallaby > 0)
{
fs = File.OpenWrite("wobbiegong");
croc = 0;
}
else if (wallaby < 0)
{
croc = 3;
}
else
{
fs = File.OpenRead("wobbiegong");
croc = 1;
}
}
catch(IOException)
{
croc = -3;
}
catch
{
croc = 4;
}
finally
{
if(dingo > 2)
{
croc -= dingo;
}
}
return croc;
}
}
}
出力
order.txt
型 'System.IO.IOException' の初回例外が mscorlib.dll で発生しました 型 'System.DivideByZeroException' の初回例外が WindowsFormsApplication1.exe で発生しました こんにちは! スレッド 0x5a4 はコード 259 (0x103) で終了しました。 スレッド 0x2b8 はコード 259 (0x103) で終了しました。 プログラム '[580] WindowsFormsApplication1.vshost.exe' はコード 0 (0x0) で終了しました。
0 コメント:
コメントを投稿