「例外処理とは?」を擬人化したら超絶わかりやすくなった〜PHP編

      2018/11/17

PHPにおける例外処理について勉強しているときに、関数とかを擬人化してみたらとっても分かりやすくなりました。

例外処理の内容は“ゼロでの徐算”です。

ソースコードはこちら

この処理の流れを、擬人化してみました

tryブロックくんは、warizan関数くんに値を渡して、仕事を頼みました。warizan関数くんの仕事は、受け取った値で10を割ることです。

割り算っていうのは、10/0のように右辺に0が入ると、成り立ちませんよね。その点warizan関数くんはしっかり者。そんな例外(Exception)時の注意文をifという引き出しにあらかじめ用意しています。

さて、今回tryくんが渡してきた値は‥(0)。見事に右辺側に0を持ってきやがりました。

warizan関数くん「だめじゃん!割り算わかってんの?」

tryくん「あー、ごめん。でも仕方ねえじゃん。例外であろうとトライ精神でおまえに値を渡すのが俺の仕事なんだから。
まあ、計算結果をおまえに貰って表示(echo)するまでが仕事なんだけど、例外じゃあ俺には処理できないから、catchにあとは頼んでくれる?

warizan関数くん「分かった。お〜いcatch、Exception投げるよ〜!キャッチして!」
(※throw=英語で投げるの意)

catchくん「はいよ!受け取ったぞ。そのException、俺の$eっていう処理用箱に入れてなんとかしてやるよ。
‥何かメッセージ入ってんじゃん。読んでみるわ(->getMessage)。おう、ご丁寧に例外の内容メッセージ書いてくれてるじゃねえか。表示(echo)しとくぞ」

処理結果:“ゼロじゃ割れないよ!”

おしまい!

関連記事

『引数、返り値について、擬人化したら超絶わかりやすくなった〜Javascript編』

擬人化シリーズのほか記事です。

 - エンジニアへの道