Quantcast
Channel: 例外タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 100

例外処理に強くなるにはこちらから。

$
0
0
はじめに 開発する上で、避けたいけど避けられない。エラー。。 どんな優秀なエンジニアもエラーには何度も遭遇します。 例外処理を記述しておくことで、デバッグや想定外のエラーにも対応できたりとメリットがたくさんあります。 例外処理を書けるようにしておくと良いでしょう! 例外処理について まず、「例外」とはなんらかの異常が発生したことを表すオブジェクトです。 例外が発生すると、例外はコールスタックまで遡り、トップレベルまで伝播して行きます。 メソッド②で例外発生 ↓ メソッド①呼び出し ↓ トップレベル呼び出し 例外オブジェクトは、Exceptionまたはそのサブクラスのインスタンスです。 (出典: Ruby Exceptions) 例外の制御 例外を発生させる Kernel#raiseを使用する。 # 第一引数に文字列を指定すると、RuntimeErrorが発生 raise 'error!' #=> RuntimeError: error! # 第一引数に例外クラスを指定出来る raise StandardError, 'error!' #=> StandardError: error! 例外を捕捉する 例外の発生する可能性のある式はbegin〜endに記述する。 begin do_process rescue => e # 例外オブジェクトを変数eに代入 puts "puts #{e.class}" end # 例外を指定すると、指定したクラスとそのサブクラスの例外が捕捉される begin do_process rescue Exeption => e # 例外オブジェクトを変数eに代入 puts "puts #{e.class}" ensure # 最後に必ず実行する処理 puts 'ここまでで処理は終了しました' end 例外オブジェクトの主な操作は以下の通りです。 # クラス名 e.class #=> StandardError # エラーメッセージ e.message #=> "error!" # コールスタック e.backtrace #=> ["sample.rb:9:in 'maaain'", "sample.rb:11:in '<main>'" 終わりに 開発において例外処理をすることは、かなり重要になってきます。 ここを怠ると、自分で発見出来ていないバグによって、サービス利用者に迷惑をかけたりすることもあるので、意識して記述して行きましょう!!

Viewing all articles
Browse latest Browse all 100

Trending Articles