>>750
他の言語では例外と呼ばれている機能。
多くの言語でtry-catch構文のthrowがErr.raiseに相当する。

例外を使わない場合、エラーを戻り値で返すことになるが、
戻り値でエラーを返すと、エラーチェック漏れが起こりやすく、
コードが冗長になるため、ほとんどの言語で例外は取り入れられている。

例えば、関数Aの中から呼び出される、
関数Bの中から呼び出される、関数Cの中から呼び出される
関数Dの中でエラーが起きたら、

関数Aはどうやって処理の途中でエラーが発生したことを
知ればいいのかを考えれば、わかるだろう。

実行時エラーというのは、多くの場合その場で書ける対策コードというは存在しない。
エラーが発生したならば、エラーが起きたと呼び出し元関数に伝えることしか出来ないし必要ない。

ならばそういう動きをする仕組みがあって「何も書かずに」
そういう動きをするならば、安全なコードを簡潔に書けることになる。