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構造体


次回は

練習問題。



このブログの人気の投稿

11月25日(火)3、4コマ目

11月17日(月)3 コマ目