>>538
開いた後、必ず閉じる処理が必要な場合があるが、それをxとすると、
関数のある場所でエラーを発見した時、呼び出し元へ返りたくても、
xを閉じてからでなくてはならない。xが複数有ったり、今後もxの
量が増えていくような場合、エラーが起きる場所全てでxを正確に全て
閉じてからreturnするのは難しい。なので、昔から、xを閉じる処理は
関数の最後の方に書いておいて、その直前にラベル lab_ex:; のような
ものを書いておいて、エラーが起きたときにはlab_exにgoto文
で飛ばすようなことが行われることが多かった。
でも、goto文は好まれ無い事があって、
try, catch 構文を使うと、goto文を使わなくてもそれが出来るようになる
ことが例外処理の一つのメリット。