ホームページ >Java >&#&チュートリアル >Java でキーワードをスローする

Java でキーワードをスローする

WBOY
WBOYオリジナル
2024-08-30 15:21:54293ブラウズ

この Throw キーワードは、例外処理の概念で顕著に使用されます。名前が示すように、throw キーワードはプログラムからコンパイラに例外をスローします。例外に関するブリーフィングは、コードの実行時に矛盾が発生した場合にコンパイラがプログラムから出力するエラーの一種です。この throw キーワードを使用すると、プログラムの実行時にエラーの原因を解釈して例外を定義できます。

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

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

以下でさらに詳しく見てみましょう:

構文

Java での throw の構文は次のとおりです。

throw exception_type ;

または

throw instance;

Java では Throw Keyword はどのように機能しますか?

ここでは、キーワードがどのように使用されているかを確認し、例を通してフローがどのように機能するかを理解できます。

import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
int c;
Scanner sc = new Scanner(System.in);
System.out.println("Enter value of A: ");
int a = sc.nextInt();
//Scanner b = new Scanner(System.in);
System.out.println("Enter value of B: ");
int b = sc.nextInt();
try {
c= a/b;
if(b==0)
{
throw new ArithmeticException();
}
System.out.println("Value of C is: " +c);
}
catch(ArithmeticException e) {
System.out.println("Caught this here");
}
finally {
}
System.out.println("Finally block is here");
}
}

古典的で簡単なゼロ除算の例を使ってこれに対処しましょう。

以下のコードを分析します:

  • まず、ユーザー入力値を取得するために Scanner モジュールをインポートしました。
  • ユーザーは 2 つの数字、つまり「A」と「B」を入力します。
  • 数値「A」を「B」で割った後の商の値を格納する変数「C」を宣言しました。
  • ユーザーはランダムに数値を与えることができるため、ユーザーが約数をゼロとして与えることができる状況を考えることができます。
  • そのシナリオを受け入れて、try ブロックに除算コードを記述します。
  • そして、「B」値がゼロの場合に例外をスローするという条件を記述します。
  • 「try」の後には常に catch ブロックを続けてください。
  • そこで、ここではキーワード throw による新しいコマンドを使用して定義した例外について説明します。
  • 同じ例外がキャッチされています。try、throw、catch、そしてfinallyの流れを明確に理解するために、以下のステートメントを出力しました。
  • そして最後に、finally ブロックを宣言します。すでに知られているように、このブロック内のステートメントは確実に実行されます。

以下の出力を確認してみましょう。

出力 1: b 値がゼロでない場合。

Java でキーワードをスローする

ゼロ以外の「B」値により、実行された try、throw、catch ブロックが存在しないことがわかります。最終的に、ブロックは例外の生成に関係なく実行されます。

出力 2: b 値が 0 の場合。

Java でキーワードをスローする

強調表示された部分により、例外が正常にスローされ、catch ブロックによってキャッチされることが保証されます。

それでは、以下の例を見てみましょう。

例:

単一のプログラムで複数の例外をスローする方法を見てみましょう。

public class Main
{
public static void main(String[] args) {
String sun[] = {"chocolate", "honey", "sugar", "sweet", "bitter"};
String h = null;
try {
for (int i=0; i<=7; i++)
{
if(i > sun.length)
{
throw new ArrayIndexOutOfBoundsException();
}
System.out.println(sun[i]);
}
}
catch(ArrayIndexOutOfBoundsException ae)
{
System.out.println("Inside array index out of bounds exception catch block");
}
try{
sun[0]=h;
if (sun[0] == null)
{
throw new NullPointerException();
}
System.out.println("Value of sun[0] is: " +sun[0]);
}
catch(NullPointerException f)
{
System.out.println("Caught Null point exception");
}
finally {
System.out.println("executing finally");
}
}
}

上記では、プログラムを解釈するために 2 つの異なるタイプの例外とスロー キーワードを使用しました。範囲外の配列インデックスと Null ポインタ例外は、ここで単一のプログラムで使用したものです。

出力:

Java でキーワードをスローする

投げの重要性

この throw キーワードは、try ブロックと catch ブロックの間の橋渡しとして機能するのに役立ちます。これは、プログラムの制御を try ブロックから catch ブロックに移すのに役立ちます。

throw キーワードを使用した場合と使用しない場合のプログラムの動作例を示します。

public class Main
{
public static void main(String[] args) {
try {
int a = Integer.parseInt ("Happy") ;
System.out.println("Will this get printed?");
} catch(NumberFormatException e) {
System.out.println("Number format exception of catch block");
}
System.out.println("Priting after catch block");
}
}

throw キーワードを使用せずにコードを作成しました。ただし、コードを使用して、例外を処理するブロックをキャッチしようとしました。さて、上記の出力をご存知ですか?

Java でキーワードをスローする

期待通りですよね?したがって、コードが実行され、例外が見つかり、その例外がキャッチされました。

さて、throw ステートメントを挿入すると、コードはどのように動作するでしょうか?以下を見てみましょう。

public class Main
{
public static void main(String[] args) {
try {
int a = Integer.parseInt ("Happy") ;
throw new NumberFormatException();
System.out.println("Will this get printed?");
} catch(NumberFormatException e) {
System.out.println("Number format exception of catch block");
}
System.out.println("Priting after catch block");
}
}

強調表示された部分のみが、上記 2 つのコード間の変更です。

出力:

Java でキーワードをスローする

はい、throw キーワードの後の print ステートメントが到達できないため、コンパイル エラーが発生します。この例を通して、「try to catch ブロックから制御を移す」ということが何を意味するのかを正確に理解していただければ幸いです。

演習として、キーワードをスローした後の print ステートメントを削除して、プログラムがどのように反応するかを確認してみてください。

結論

このようにして、例外処理時に throw コマンドが登場しました。 THROW キーワードと THROWS キーワードの間には大きな違いがあることに気付きました。どちらも例外の概念で使用されます。 「THROW」キーワードをどこでどのように使用できるか、コンセプトはすでにわかっています。ぜひ練習して、さまざまな方法で使ってみてください。学び続けてください。

以上がJava でキーワードをスローするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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