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