例外修羅道:「落ちたら終わり」じゃない。そこからどう立て直すかだ

0004_例外修羅道 learn

“try-catch は書いたことある。でも、なぜそう書くのかは説明できない”
“throw と throws の違い?なんとなく流してた”

──そんな「構文だけ知ってる状態」で止まってる Java 初学者に向けて、
この「例外修羅道」では、10のステップで段階的に例外処理の構造と思考を掘り下げていく。


キーワードは:

  • まず、日本語で考えろ
  • 考えたら、コメントを書け
  • コメントに従って、コードを書け
  • catchして終わり、じゃない
  • 自分で説明できるまで、例外に向き合え

このシリーズについて

この「例外修羅道」は、javadrill.tech で出題してる問題の解説版。
問題を出してるのも、解説してるのも──オレ。
tesh って名前でやってます。

javadrill で問題を読んで、
ここ(justkeeptyping.baby)で、書けるようになる。


ステップ構成

  1. Step01:ゼロ除算を捕まえろ
  2. Step02:配列外アクセスを制御せよ
  3. Step03:複数の例外を個別に処理せよ
  4. Step04:Exceptionでまとめて握りつぶせ
  5. Step05:finallyで、終わらせろ
  6. Step06:throwsで「責任の所在」を示せ
  7. Step07:throwで、自分から起こせ
  8. Step08:独自例外を定義せよ
  9. Step09:getMessageとスタックトレースで原因を追え
  10. StepFinal:全処理にtryを仕込み、ログに刻め

// tesh:
// この10ステップが終わったとき、
// おまえは try-catch-finally を「お守り」じゃなく「設計ツール」として使えるようになってる。
// 
// 例外はバグじゃない。制御できる“分岐”だ。
// 
// つまづくかもしれん。でも、構造さえ見えてれば、何度でも戻ってこれる。
// 
// だからまずは──
// 
// Just keep typing, baby.
// 意味は、あとからついてくる。