4
3

コンパイルエラーと例外スローの違い

Posted at

java silverの問題を解いてて、コンパイルエラーと例外スローどちらになるかわからなかったのでまとめてみた。

コードがコンパイルエラーになるか、例外をスローするかの基準

  1. コンパイルエラー(静的エラー)

    • 定義と一致しない使用法:変数や関数の定義に反する使用(例:存在しないメソッドの呼び出し、データ型の不一致)。
    • 構文エラー:プログラムの構文が言語の規則に違反している場合(例:セミコロンの欠落、括弧の不一致)。
    • 解決できない参照:使用されているが定義されていない変数や関数への参照。
    • アクセスレベルの違反:privateやprotectedなど、アクセスできないメンバへのアクセス。
  2. 実行時例外(動的エラー)

    • 外部要因:外部リソースの問題、ネットワークエラーなど。
    • 無効な入力:ユーザー入力や外部データソースからの予期しないデータ。
    • リソースの問題:メモリ不足、ファイルシステムの問題など。
    • プログラムの論理エラー:ゼロ除算、無効なインデックスへのアクセス、null参照など。

コンパイルエラーは、ソースコードがコンパイルされる際に発生し、実行ファイルやバイトコードが生成される前に検出される。一方、実行時例外は、プログラムが実行されている間に発生し、通常はプログラムの特定の状態や外部環境に依存する

4
3
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
4
3