“try-catch は書いたことある。でも、なぜそう書くのかは説明できない”
“throw と throws の違い?なんとなく流してた”
──そんな「構文だけ知ってる状態」で止まってる Java 初学者に向けて、
この「例外修羅道」では、10のステップで段階的に例外処理の構造と思考を掘り下げていく。
キーワードは:
- まず、日本語で考えろ
- 考えたら、コメントを書け
- コメントに従って、コードを書け
- catchして終わり、じゃない
- 自分で説明できるまで、例外に向き合え
このシリーズについて
この「例外修羅道」は、javadrill.tech で出題してる問題の解説版。
問題を出してるのも、解説してるのも──オレ。
tesh って名前でやってます。
javadrill で問題を読んで、
ここ(justkeeptyping.baby)で、書けるようになる。
ステップ構成
- Step01:ゼロ除算を捕まえろ
- Step02:配列外アクセスを制御せよ
- Step03:複数の例外を個別に処理せよ
- Step04:Exceptionでまとめて握りつぶせ
- Step05:finallyで、終わらせろ
- Step06:throwsで「責任の所在」を示せ
- Step07:throwで、自分から起こせ
- Step08:独自例外を定義せよ
- Step09:getMessageとスタックトレースで原因を追え
- StepFinal:全処理にtryを仕込み、ログに刻め
// tesh:
// この10ステップが終わったとき、
// おまえは try-catch-finally を「お守り」じゃなく「設計ツール」として使えるようになってる。
//
// 例外はバグじゃない。制御できる“分岐”だ。
//
// つまづくかもしれん。でも、構造さえ見えてれば、何度でも戻ってこれる。
//
// だからまずは──
//
// Just keep typing, baby.
// 意味は、あとからついてくる。