Javaのよくあるランタイムエラーの5大原因【第3回】
“ぬるぽ”だけじゃない Javaで起きやすい主な「ランタイム例外」と原因は?
Javaには注意が必要なランタイム例外が幾つかある。アプリケーションを安定的に動作させるためには、こうしたランタイム例外をどう処理するかが重要だ。主なランタイム例外の種類と原因を解説する。
プログラミング言語および実行・開発環境「Java」で開発したアプリケーションの実行中に、不適切な動作をすると「ランタイムエラー」(実行時エラー)が発生する。事前に想定可能なランタイムエラーである「ランタイム例外」のうち、ソースコードのロジックの不備にまつわるランタイム例外を紹介する。
3.不適切なロジック
併せて読みたいお薦め記事
連載:Javaのよくあるランタイムエラーの5大原因
エラーへの対処法
ソースコードからアプリケーションを生成できても、そのアプリケーションが正しく動作するとは限らない。ソースコードには、アプリケーションのランタイム例外を引き起こす論理的な問題がしばしば潜んでいる。
Javaには、ランタイム例外のクラス(データと操作をまとめた「オブジェクト」の設計図)の親に当たるスーパークラスの「RuntimeException」がある。Java標準の開発キット(JDK)だけでなく、サードパーティー製ライブラリ(プログラム部品群)にも、RuntimeExceptionの仕様を継承したランタイム例外のクラスが存在する。こうしたクラスのうち、主要なクラスと、それぞれが担う例外を以下に示す。
- ArithmeticException
- 0での除算といった不正な算術処理の際の例外
- ClassCastException
- クラスの変換が不可能な際の例外
- ConcurrentModificationException
- オブジェクトの集合体「コレクション」に対する、整合の取れない同時処理の際の例外
- IndexOutOfBoundsException
- 配列(同種のデータの集合)内に存在しない要素へのアクセスの際の例外
- NullPointerException
- 「Nullオブジェクト」(存在しないオブジェクト)に対するメソッド(操作)の呼び出しの際の例外(「ぬるぽ」とも呼ぶ)
ランタイム例外が発生した場合の処理をソースコード内に記述することは、開発の必要条件ではない。とはいえ発生したランタイム例外を無視すると、アプリケーションが停止することになる。開発者は、アプリケーションが発し得るあらゆるランタイム例外に対して、アプリケーション全体を停止するのではなく、問題のあるスレッドのみを停止させるような例外処理を組み込むべきだ。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
技術文書・技術解説
[ネットアップ合同会社] 金融庁ガイドラインから読み解く、「次世代データレジリエンス」の在り方 -
製品資料
[ネットアップ合同会社] 製造DXでデータ活用ニーズが拡大 分散データ活用とAI活用をどう実践する? -
製品レビュー
[ネットアップ合同会社] AIで使いたいデータが内外に点在、研究におけるAI活用を阻む“真の課題”とは -
製品資料
[株式会社kickflow] 稟議・承認作業の「脱オンプレ・脱Excel・ペーパーレス化」を一気に進める方法 -
製品レビュー
[株式会社kickflow] ワークフローシステムのクラウド化 “みんなが不幸になる”事態を避けるには?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「契約業務のAI活用」に関するアンケート
-
2
IT製品の導入に関するアンケート「セキュリティ」編
-
3
なぜ人はいるのにDXが進まない? ライオンも直面した“老害”レガシーシステム
-
4
「有線LAN環境」に関するアンケート
-
5
「エージェントを作るな、スキルを作れ?」 Anthropicが提唱するAI運用の勘所
-
6
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
7
シャトレーゼを悩ませる偽メール 混乱なしでBIMI導入とDMARC強化を実現した方法
-
8
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
9
障害対応に「余裕なし」が9割超 運用担当316人調査で見えた「運用赤字」
-
10
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
7
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「標的型攻撃メール」事例・サンプル集
-
10
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー