目次
Java での RuntimeException の仕組み
Java の RuntimeException のコンストラクター
Java で RuntimeException を回避するには?
例 #1 – ArrayIndexOutOfBoundsException
Example #2 – IllegalArgumentException
Example #3 – NumberFormatException
Example #4 – NullPointerException
Recommended Article

Java ランタイム例外

Aug 30, 2024 pm 04:14 PM
java

例外は、Java でコードを実行中にエラーが発生した場合にスローされるものです。 Java の RuntimeException は、Java プログラミング言語のすべての例外の親クラスと呼ばれるもので、プログラムまたはアプリケーションの実行中に発生するとクラッシュまたは故障します。ただし、他の例外と比較すると、これらは異なり、他の例外のようにコードで指定することで捕捉することはできません。

Java での RuntimeException の仕組み

Object -> の順でExceptionの親クラスに属します。投げ可能 ->例外 -> 実行時例外。したがって、これは、JVM (Java 仮想マシン) の通常の操作の実行中にスローされるすべての例外のスーパークラスとして呼び出すことができます。この RuntimeException とそのサブクラスは、「未チェック例外」と呼ばれる例外のクラスに分類されます。これらはコンストラクターまたはメソッドの句で指定できませんし、その必要もありません。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

Java の RuntimeException のコンストラクター

以下は RuntimeException のコンストラクターです:

1. RuntimeException (): これにより、詳細メッセージが null である新しいランタイム例外がスローされます。

構文:

public RuntimeException()
ログイン後にコピー

ここでの原因は初期化されず、クラス Throwable.initCause (java.lang.Throwable) を呼び出すことで初期化できます。

2. RuntimeException (String msg): これも新しいランタイム例外をスローしますが、Java コードで提供した定義済みの詳細メッセージが含まれます。

構文:

public RuntimeException (String msg)
ログイン後にコピー

上記の関数と同様に、デフォルトでは原因は初期化されませんが、Throwable.initCause (java.lang.Throwable) を呼び出すことで同様に初期化できます。ここでの msg は詳細メッセージであり、後で Throwable.getMessage () メソッドで取得できるように保存されます。

3. RuntimeException (String msg, Throwable Cause): これは、定義されたエラー メッセージとその原因を含む新しいランタイム例外をスローします。

構文:

public RuntimeException (String message, Throwable cause)
ログイン後にコピー

ここでのメッセージは自動的に含まれないため、明示的に指定する必要があることに注意してください。ここでは、原因が Throwable.getCause () 関数から取得されます。ここでは、原因が存在しないか不明であることを表す null 値が許可されています。

4. RuntimeException (String msg, Throwable Cause, booleanenableSupp, booleanwritableStack): これにより、詳細なエラー メッセージ、その特定の原因、抑制が有効か無効かを表すenableSupp、およびその抑制が有効である writableStack を含む新しいランタイム例外が生成されます。スタック トレースが有効か無効か。

構文:

protected RuntimeException (String message,
Throwable cause,
booleanenableSuppression,
booleanwritableStackTrace)
ログイン後にコピー

これにより、定義された原因と指定された詳細メッセージ、その原因、抑制が有効か無効か、書き込み可能なスタック トレースが有効かどうかを含む新しい実行時例外が生成されます。ここでのメッセージは、表示している特定のメッセージ、メッセージが存在するかどうかを示す原因、enableSuppression は抑制が許可されているかどうかを示し、writableStackTrace はスタック トレースが書き込み可能であるかどうかを指定します。

5. RuntimeException (スロー可能な原因): これは、指定された原因と条件の指定された詳細なエラー メッセージ (cause==null ? null : Cause.toString ()) を持つ新しいランタイム例外をスローします。これには、基本的にクラスとその特定のクラスがあります。原因メッセージ。

構文:

public RuntimeException (Throwable cause)
ログイン後にコピー

原因は、後で Throwable.getCause() メソッドによって取得できるように保持され、null 値が許可される場合、その原因が不明であることを示します。

Java で RuntimeException を回避するには?

このような例外を回避するために行う方法は、例外処理と呼ばれます。これは、開発者がコーディング中に心に留めておくべき最も基本的なことの 1 つです。例外が発生し、例外を処理できない場合、コード全体が役に立たなくなります。

Java でチェック例外を処理するには、throw および throw と呼ばれる特定の句を使用します。実行時例外は通常、入力に問題があるために発生し、ArrayIndexOutOfBoundsException、IllegalArgumentException、NumberFormatException、または NullPointerException などの例外を引き起こします。これらのエラーをコードに含めても、処理に変更はありませんが、ドキュメントの作成にグッド プラクティスとして使用できます。

以下のようにランタイム例外をカスタム定義できます:

public class AuthenticateUser extends RuntimeException {
public AuthenticateUser (String msg) {
super (msg);
}
}
ログイン後にコピー

以下は 4 つの主要な種類のランタイム例外の例です。

例 #1 – ArrayIndexOutOfBoundsException

これは、無効または使用できない配列のインデックス値をリクエストしたときに発生します。

Code:

public class Main
{
public static void main (String[] args)
{
// Random array of numbers
intip[] = {16, 17, 18, 19, 20};
for (inti=0; i<=ip.length; i++)
System.out.println (ip[i]);
}
}
ログイン後にコピー

Output:

Java ランタイム例外

As seen in this example, in the input array has its index value from 0 to 4. But in this for loop, the length of the array retrieved will be 5, and when that is tried to access in the array, it will throw the ArrayIndexOutOfBoundsException during RunTime of the code.

Example #2 – IllegalArgumentException

The cause of this exception is when the argument format provided is invalid.

Code:

public class Main {
inti;
public void getMark (int score) {
if (score < 0 || score > 100)
throw new IllegalArgumentException (Integer.toString (score));
else
i = score;
}
public static void main (String[] args) {
Main t = new Main ();
t.getMark (30);
System.out.println (t.i);
Main t1 = new Main ();
t1.getMark (120);
System.out.println (t1.i);
}
}
ログイン後にコピー

Output:

Java ランタイム例外

Here we know that the maximum value of a percentage value is 100. So when we pass the value as 101, we get the Illegal argument exception during run time.

Example #3 – NumberFormatException

This exception is usually thrown when a string is to be converted to a numeric value like either float or integer value, but the form of the string given as input is either illegal or inappropriate.

Code:

public class Main {
// giving input string as null
public static void main (String[] args) {
inti = Integer.parseInt (null);
}
}
ログイン後にコピー

Output:

Java ランタイム例外

In this example, we are giving the input string to be parsed into an integer as null. Hence the number format exception is thrown.

Example #4 – NullPointerException

This exception occurs when a reference object that the variable is referring to is null.

Code:

public class Main {
public static void main (String[] args) {
Object reference = null;
reference.toString ();
}
}
ログイン後にコピー

Output:

Java ランタイム例外

In this example, we are creating an object called reference having a null value. The same object is being called for an operation, and hence this error is thrown.

Conclusion: Runtime exceptions are thrown at runtime and hence difficult to be detected during compile time. They are difficult to handle, and the throws clause can only be used to define them but not catch them.

Recommended Article

This is a guide to Java RuntimeException. Here we discuss the Introduction and how to Avoid RuntimeException in Java, and it’s Working along with its examples. You can also go through our other suggested articles to learn more –

  1. Introduction to Heap Sort in Java
  2. Overriding in Java (Examples)
  3. Iterators in C# With Advantages and Disadvantages
  4. Top 10 Java Collection Interview Questions

以上がJava ランタイム例外の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

PHP:Web開発の重要な言語 PHP:Web開発の重要な言語 Apr 13, 2025 am 12:08 AM

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHP対Python:違いを理解します PHP対Python:違いを理解します Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHP対その他の言語:比較 PHP対その他の言語:比較 Apr 13, 2025 am 12:19 AM

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHP対Python:コア機能と機能 PHP対Python:コア機能と機能 Apr 13, 2025 am 12:16 AM

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

カプセルの量を見つけるためのJavaプログラム カプセルの量を見つけるためのJavaプログラム Feb 07, 2025 am 11:37 AM

カプセルは3次元の幾何学的図形で、両端にシリンダーと半球で構成されています。カプセルの体積は、シリンダーの体積と両端に半球の体積を追加することで計算できます。このチュートリアルでは、さまざまな方法を使用して、Javaの特定のカプセルの体積を計算する方法について説明します。 カプセルボリュームフォーミュラ カプセルボリュームの式は次のとおりです。 カプセル体積=円筒形の体積2つの半球体積 で、 R:半球の半径。 H:シリンダーの高さ(半球を除く)。 例1 入力 RADIUS = 5ユニット 高さ= 10単位 出力 ボリューム= 1570.8立方ユニット 説明する 式を使用してボリュームを計算します。 ボリューム=π×R2×H(4

PHP:多くのウェブサイトの基礎 PHP:多くのウェブサイトの基礎 Apr 13, 2025 am 12:07 AM

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

未来を創る: まったくの初心者のための Java プログラミング 未来を創る: まったくの初心者のための Java プログラミング Oct 13, 2024 pm 01:32 PM

Java は、初心者と経験豊富な開発者の両方が学習できる人気のあるプログラミング言語です。このチュートリアルは基本的な概念から始まり、高度なトピックに進みます。 Java Development Kit をインストールしたら、簡単な「Hello, World!」プログラムを作成してプログラミングを練習できます。コードを理解したら、コマンド プロンプトを使用してプログラムをコンパイルして実行すると、コンソールに「Hello, World!」と出力されます。 Java の学習はプログラミングの旅の始まりであり、習熟が深まるにつれて、より複雑なアプリケーションを作成できるようになります。

See all articles