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構造体 次回は 練習問題。