>>604
> プログラミングにおいて、エラー処理のためのtry catch例外処理は本来不要なものである。
> エラーは関数の戻り値で返せばよい。

あらゆる関数/メソッド呼び出しのたびにエラーチェックをするのが煩雑だから、try-catchが生み出されたんだと思う。
例えば、データベースアクセスが発生する三つの関数を呼び出すとき、
try {
  foo();
  bar();
  baz();
  commit();
} catch () {
  rollback();
}
みたいな。
続行不能なエラーが発生したが、本流に戻る必要があるときは便利。