LoginSignup
12
8

More than 5 years have passed since last update.

Error, Fault, Failure

Posted at

Error, Fault, Failure

プログラミングをする上で、Error(エラー), Fault(障害), Failure(故障)という用語がよく出てきます。
この用語はプログラミング言語や文脈によって意味を読み替える必要があるので、自分が必要な範囲でまとめておきます。

情報処理用語(JIS X 0014)

Error(エラー)
計算,観測若しくは測定された値又は状態と,真の,指定され た若しくは理論的に正しい値又は状態との間の相違。
Fault(障害)
要求された機能を遂行する機能単位の能力の,縮退又は喪失を 引き起こす,異常な状態。
Failure(故障)
要求された機能を遂行する,機能単位の能力がなくなること。

Java

java.lang.Exception
通常のアプリケーションでキャッチされる可能性のある状態
java.lang.Error
通常のアプリケーションであればキャッチすべきではない重大な問題

Scala

scala.util.Success
処理を行った結果、例外やエラーが起きなかった
scala.util.Failure
処理を行った結果、例外やエラーが起きた

JISの定義の文脈とプログラミング言語の文脈での意味の違いが業務をする上で問題になることがあります。例えば、JavaでErrorがスローされる状況は情報処理用語の文脈上ではFaultやFailureが起きていることになります。ユーザの入力間違いや重複のチェックなどは情報処理用語の文脈ではErrorですが、JavaやScalaでErrorをスローさせることはないでしょう。

参考

12
8
0

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
12
8