12月1日(月)2コマ目
今日、やったこと
- 列挙型
- エラー処理
今日のホワイトボード
列挙型
以前にもちょっとだけ話をしたが、列挙型は定数のセット集のようなもの。
今回は、例外処理にからめて、Errorプロトコルを準拠した例外スロー用の列挙型を作った。
例外処理
これも以前にちょっとだけ話をした。
基本的にはJavaの例外処理と同じようなもの。以下がJavaと異なる。
- try{ }ではなく、do{ }
- 例外クラスではなく、列挙型をスロー
- 例外スローメソッド呼び出し時は、キーワードtryが必要
- 例外をスローするメソッドはキーワードthrowsで例外スローを宣言
サンプル1
Errorプロトコルを準拠したDivError列挙型を作成。
DivError列挙型には、0除算時にスローするdivByZeroを追加。
わり算の分母が0なら、DivError.divByZoroをスロー。
サンプル1改造
DivError列挙型に、アンダーフロー発生時にスローするDivError.underFLowを追加。
わり算の分母が10,000以上ならDivError.underFLowをスロー。
サンプル2
わり算関数div()を作成。
分母が0なら、DivError.divByZeroをスロー。
このdiv()関数を呼び出す際には、キーワードtryが必要。
サンプル2改造
下図の計算のためのCalc構造体を作成。
|
| 図 Calc構造体 |
次回は
練習問題。
