例外と割り込み

10年位前、CでリアルタイムOSを使ったファーム系のソフト屋だったこともあり、割り込みや例外についてはいろいろ調べたり試したりしていた。内製ハードを6枚、7枚抱えたシステムだったので、至る所で割り込みによるハードの状態遷移を気にしなければならなかったと記憶している。もし当時、Rubyのようにハンドリングが簡単だったらどれだけ助かっただろうか、と思ってしまった。

Rubyだとハンドリング処理をまとめられるということもそうだけど、その処理分岐を1行にまとめられるし、しかも視認性がとてもよい。他にもこのような言語はあるのだけど、私にはなんだかとっても嬉しい言語に見えてしまった。

それとopen-closeのように後処理が必要な命令をブロックで書けるため、例外でハンドリング処理に飛んでも必ず後処理が動いてくれるのがいい。クラスを定義しているならまだわかるけど、ブロックでもできるのは忘れ物が少なくすみそう。特にハードは、リセットせずに使うことを想定すると、Privilegeに対する後処理は致命傷になるので。ほんと便利だ。