
関数呼び出しは失敗することがある
この章の最初の練習問題で特定した最後の問題は、
do_search
関数内の
log_request
の関数呼び
出しに関係します。
4
関数呼び出しが失敗したら?
関数呼び出しが成功する保証はありません。その関数がコードの外側とやり取りする
場合にはなおさらです。
データベースが利用できないと
InterfaceError
を起こしてクラッシュすることは、すでに説明し
ました。
データベースが
ないので、
クラッシュします。
別の問題が発生し、
再びクラッシュしました。
11
章 例外処理
you are here
421
ページをめくる
前に、
raise
の行を
削除して
Web
アプリケーションを
再起動してください。
別の問題も明らかとなります。別のエラーをシミュレートするために、
3
番目の問題の説明で追加し
た
sleep(15)
の行を、
raise
という
1
文に置き換えます。インタプリタが
raise
を実行すると、実
行時エラーが発生します。
Web
アプリケーションを再度試すと、今度は別のエラーが起こります。