“ぬるぽ”だけじゃない Javaで起きやすい主な「ランタイム例外」と原因は?Javaのよくあるランタイムエラーの5大原因【第3回】

Javaには注意が必要なランタイム例外が幾つかある。アプリケーションを安定的に動作させるためには、こうしたランタイム例外をどう処理するかが重要だ。主なランタイム例外の種類と原因を解説する。

2022年06月28日 05時00分 公開
[Cameron McKenzieTechTarget]

関連キーワード

Java | アプリケーション開発


 プログラミング言語および実行・開発環境「Java」で開発したアプリケーションの実行中に、不適切な動作をすると「ランタイムエラー」(実行時エラー)が発生する。事前に想定可能なランタイムエラーである「ランタイム例外」のうち、ソースコードのロジックの不備にまつわるランタイム例外を紹介する。

3.不適切なロジック

 ソースコードからアプリケーションを生成できても、そのアプリケーションが正しく動作するとは限らない。ソースコードには、アプリケーションのランタイム例外を引き起こす論理的な問題がしばしば潜んでいる。

 Javaには、ランタイム例外のクラス(データと操作をまとめた「オブジェクト」の設計図)の親に当たるスーパークラスの「RuntimeException」がある。Java標準の開発キット(JDK)だけでなく、サードパーティー製ライブラリ(プログラム部品群)にも、RuntimeExceptionの仕様を継承したランタイム例外のクラスが存在する。こうしたクラスのうち、主要なクラスと、それぞれが担う例外を以下に示す。

  • ArithmeticException
    • 0での除算といった不正な算術処理の際の例外
  • ClassCastException
    • クラスの変換が不可能な際の例外
  • ConcurrentModificationException
    • オブジェクトの集合体「コレクション」に対する、整合の取れない同時処理の際の例外
  • IndexOutOfBoundsException
    • 配列(同種のデータの集合)内に存在しない要素へのアクセスの際の例外
  • NullPointerException
    • 「Nullオブジェクト」(存在しないオブジェクト)に対するメソッド(操作)の呼び出しの際の例外(「ぬるぽ」とも呼ぶ)

 ランタイム例外が発生した場合の処理をソースコード内に記述することは、開発の必要条件ではない。とはいえ発生したランタイム例外を無視すると、アプリケーションが停止することになる。開発者は、アプリケーションが発し得るあらゆるランタイム例外に対して、アプリケーション全体を停止するのではなく、問題のあるスレッドのみを停止させるような例外処理を組み込むべきだ。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

アイティメディアからのお知らせ

From Informa TechTarget

なぜクラウド全盛の今「メインフレーム」が再び脚光を浴びるのか

なぜクラウド全盛の今「メインフレーム」が再び脚光を浴びるのか
メインフレームを支える人材の高齢化が進み、企業の基幹IT運用に大きなリスクが迫っている。一方で、メインフレームは再評価の時を迎えている。

ITmedia マーケティング新着記事

news017.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

news027.png

「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

news023.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...