どうも、Rubyをやっているものです。
突然ですがRubyのエラー処理と例外ってよくわからなくないですか?そこで今回はエラー処理と例外についてざーっくりとまとめておきたいと思います。
Rubyのエラー処理と例外について簡単にまとめる
エラー処理について
とりあえずプログラムを書いている人にとっては、エラーというのは身近なものです。というかエラーを発生させずにプログラムを書き切るなんて無理です。
そんな僕らの友達、エラーというのはいくつかの種類に分けることができます。大体以下の3つです。
- データのエラー
- システムのエラー
- プログラムのミス
いろいろなエラーがおきますが、だいたいの対処方法というのは決まっています。以下のような方法です。
- 原因を取り除く
- 無視して続行
- エラー発生前に復元する
- もう一度試す
- プログラムを終了する
例外について
ちなみにエラーが起きる時というのは、何かしらおかしな処理が入っているんですが、そのエラーをより簡単に理解するために例外というものがあります。例外っていうのは簡単にいうとエラー処理をサポートするためのものです。以下のようなメリットがあります。
- 操作の完了を1つ1つ確認しなくても、エラーは自動的に検出される
- エラーの発生場所も同時に報告されるのでデバックしやすい
例外の書き方の代表的なものは以下の通りです。
コード
begin
例外を発生させる処理
rescue
例外が起こった場合の処理
end
例外の書き方
後処理
たまに例外を発生させた中でも、常に実行したい処理がある時があります。この場合についてはensure節を使って実行させます。
コード
ensure
例外の有無にかかわらず実行される処理
end