26
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ポケモン×Java】知識編 ERROR #6 実行時エラーを防止するには?

26
Posted at

はじめに

実行時エラーの一番の特徴は、
途中でプログラムが止まることです。

  • 画面が先に進まない
  • 処理が中断される
  • サービスが落ちる

ポケモンで例えるなら、
バトルの最中にゲームがフリーズする状態。

止まる以上、「あとで考えよう」はできません。

この章では、「どう直すか」ではなく、
どう考えて守るか を整理します。

実行時エラーは「起きうるもの」

実行時エラーは、

  • 入力値がおかしい
  • 状態が想定と違う
  • 外部要因が絡む

といったように、
理想とは異なる値が扱われることで発生します。

重要なのは、 すべてを事前に防ぐことはできないという点です。

そのため、実行時エラーを 起きない前提 で考えるのは危険です。

必要なのは「守る設計」

実行時エラーに対してやるべきことは、
とてもシンプルです。

壊れないように設計すること

正しい結果を出す前に、
まず「止まらない」状態を作る必要があります。

実行時エラーに向き合うとき、最初に考えること

実行時エラーが起きたとき、
最初に立ち止まって考える問いは1つです。

この値は、そもそも受け取っていいものか?

  • 受け取ってはいけない値なら、入口で弾く(バリデーション
  • 受け取る必要がある値なら、落ちないように処理する(例外処理

この判断ができると、対処の方向が自然と決まります。

実行時エラーと向き合う基本姿勢

最後に、実行時エラーと向き合うときの
考え方の軸をまとめます。

  • 入力は信用しない
  • 状態はズレる前提で考える
  • 想定外でも処理を続けられる道を用意する

正しさの前提として、壊れない設計が必要になる

これが、実行時エラーに向き合う基本姿勢です。


PRUMのエンジニアの95%以上は、未経験からの採用です。
ぜひ、求人を見てみてください!

Wantedly求人

コーポレートサイト

VISION 『日本で一番エンジニアが成長する会社を創る』

ご応募お待ちしておりますー!

26
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?