見出し画像

受動的攻撃を「写経」した

お疲れ様です。Y研究員です。プログラミング文体練習を「写経」しています。今日はエラー処理の第三回目です。

前回のスタイルは、エラーが発生したらその場所でプログラムを停止させていました。C言語だと例外をサポートしないのでこのスタイルになります。逆にPythonは例外が使えるので、エラーが発生したら呼び出し元で止めることができます。

実際にサンプルコードを見ると、前回とほとんど変わりませんでした。メイン部分でtry-catchしているので、呼び出した関数がエラーを起こしてもメインで回収できる構図です。こちらのほうがtry-catchをあちこち書くより簡潔ですね。できればこちらのほうが良いと、この本では推奨されていました。

しかしC言語では、あのGOTO文がこのスタイルを実現するために使えるそうです。エラーが発生したらGOTO文でエラー処理部分へ飛ばす書き方です。今では駆逐されてしまったGOTO文ですが、こんな大事な使い方があるなんて知りませんでした。

次回は関数で型をチェックするやり方です。Pythonは動的型付け言語なので型を意識しなくても書けますが、しっかり確認するスタイルもあります。

それではまた!


無料のプログラミングクラブCoderDojoを運営するにあたり寄付を受け付けています。お金は会場費・Wifiの費用・教科書に使用します。