このページの概要
例外を発生させてみるいちばん簡単に再現できる例外は「ゼロ除算」の例外でしょう。電卓で 1 ÷ 0 = とすると E になってしまうアレです。
例外をとらえる begin rescue ensure end 構文例外が発生してもスクリプトを強制終了させないためには、例外が発生しそうな部分に対して begin end でくくり、その中に rescue という「例外を捕まえる(Java や C# では catch と呼ばれていますね)」構文を入れます。 下記コードは、gets.to_i が 0 になる (0 や数字以外の文字をキーボードから入力した場合) という条件で 0 / 0 (ゼロ除算) となります。ensure については省略可能です。
例外を発生させる raise 構文ソースコードの途中に raise という構文を使うことで、意図的に好きな例外を発生させることができます。以下のコードは例外を起こす一例です (実質、1行目で実行が止まるのでサンプルとしての意味はありません。説明用です。)
例外の種類によって処理コードを切り替える rescue 例外の種類 とすると、その例外の種類だけに限定した処理を記述できます。 以下のコードでは、0 や文字ではゼロ除算専用の処理が、10 のときは「ほかの例外」の処理が行われることを確認できます。
|