Help us understand the problem. What is going on with this article?

例外処理について

More than 1 year has passed since last update.

例外処理について

今までしっくりきていなかったことで、考えがまとまったのでメモります。
プログラミングのみの話でもないので、そちらも書きます。

例外という言葉の意味

そもそも例外という言葉の意味がわかっていませんでした。
例外とは簡単にはエラーなんですが、なぜエラー=例外なのかというと、
例外が異常に含まれるからです。
端的には上記ですが、詳しくすると、
プログラムは基本正常系と異常系に分かれており、
何も問題なく動くことを正常系、
何か問題があり想定していた動作以外のことが発生することを異常系と分類します。
例外はこの異常系に分類され、想定動作以外のことすなわち例外=エラーという形になります。

例外処理コード

example_controller.rb
def example
  begin
  #エラーが起こるかもしれないコードが書いてある
  rescue => e
  #エラーが起きた時の処理
  end
end

resucueより下のエラーが起きた時の処理はちゃんと書こう

例外処理を書くのであればrescue以下はしっかり書きましょう。
ここを書かないでいると、何かしら問題が起きた時そのログを取ることができなくなってしまいます。(もしくは損害が起こらないように対処することもできない)
個人で作っている小さいサービスなどであれば問題はないですが、お客さんからお金をもらっているような大規模なサービスなどになるとかなり真剣に書かないとやばいです。もしサービスが何かしら誤作動を起こし、お客さんに損害を与えた場合、それがお客さんの操作ミスなのか、こちらのコーディングミスなのかを判別するのはそのログです。もしそのログがなければそのままこちらの責任になりかねません。
証拠を残すために必要なコーディングになリます。

こういう話を知ると、経営に関われている感じがして、一次元上のコーディングができそうだなと思いました。
そういうところも考えられるようなエンジニアにもなりたいと思いました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away