この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
どーもメガネです。7回目です。今回はRubyの例外処理について説明します。
例外とはプログラムの実行中にエラーが発生すると例外が発生します。例外が発生するとプログラムの実行は中断し例外を探します。
要するに、何か問題が発生した場合に“エラー”ではなく、“エラーみたいですよ”と報告し、その報告を受け取って何かしらの処置をするのが「例外処理」です。で、ここでいう“報告”が「例外」で、“報告する行為”を“「例外」を投げる”といいます。
簡単に書くと
1,例外処理を使わない処理
if a() == false
エラー処理
end
if b() == false
エラー処理
end
if c() == false
エラー処理
end
2,例外処理を使った処理
begin
a()
b()
c()
rescue
エラー処理
end
これで例外処理が便利だということが分かったと思います。
ではさっそく書き方を説明します。
begin
例外が起こる可能性のある処理
rescue
例外が起こった場合の処理
end
またrescueのあとに変数名を指定することで例外オブジェクトを得ることができます。
begin
例外が起こる可能性のある処理
rescue => 例外オブジェクトが代入される変数
例外が起こった場合の処理
end
ほかの言語を知っている方であればtry~catchと使い方は変わりません。
以上です。