Java ユーザー定義の例外

WBOY
リリース: 2024-08-30 16:15:08
オリジナル
1017 人が閲覧しました

Java ユーザー定義例外は作成されたカスタム例外であり、キーワード「throw」を使用してその例外をスローします。これはクラス「Exception」を拡張することによって行われます。例外とは、プログラムの実行中に発生する問題です。オブジェクト指向プログラミング言語では、Java はそのような例外を処理するための強力なメカニズムを提供します。 Java では、独自の例外クラスの実装を提供する独自の例外クラスを作成できます。このような例外は、ユーザー定義例外またはカスタム例外と呼ばれます。さらに深く掘り下げて、Java でユーザー定義の例外がどのように作成されるか、その構文 (存在する場合)、およびいくつかの例を解決して実装方法を見てみましょう。

広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト

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

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

構文:

Java ユーザー定義例外用の特定の構文はありません。ユーザー定義の例外を作成する方法を見ていきます。

以下は、ユーザー定義の例外クラスの作成に役立つコードです。

class SampleException{
public static void main(String args[]){
try{
throw new UserException(<value>); // used to create new exception and throw
}
catch(Exception e){
System.out.println(e);
}
}
}
class UserException extends Exception{
// code for exception class
}
ログイン後にコピー

ここでは、例外クラスを作成する際に、Java から拡張する必要があります。 lang.Exception.

例外とは、実行時のプログラムの実行中に突然終了するイベントです。

Java ユーザー定義例外の例について説明します。

例 #1: 単純なプログラム

class SampleException{
public static void main(String args[]){
try{
throw new UserException(400);
}
catch(UserException e){
System.out.println(e) ;
}
}
}
class UserException extends Exception{
int num1;
UserException(int num2) {
num1=num2;
}
public String toString(){
return ("Status code = "+num1) ;
}
}
ログイン後にコピー

出力:

キーワード「throw」は、新しい例外を作成し、キャッチ ブロックにスローするために使用されます。

Java ユーザー定義の例外

例 #2: 無効な ID の場合

class EmployeeException extends Exception
{
public EmployeeException(String s)
{
super(s);
}
}
class SampleEmp
{
void empIDCheck(int EmpID) throws EmployeeException{
if(EmpID<=0 || EmpID>999){
throw new EmployeeException("Invalid Employee ID");
}
}
public static void main(String args[])
{
SampleEmp emp = new SampleEmp();
try
{
emp.empIDCheck(0);
}
catch (EmployeeException e)
{
System.out.println("Exception caught");
System.out.println(e.getMessage());
}
}
}
ログイン後にコピー

出力:

Java ユーザー定義の例外

ここで throw クラスを使用していない場合、「メソッド内のハンドルされない例外」としてコンパイル エラーが発生します。

例 #3: 定義された値より小さい値の場合

class SampleException extends Exception
{
private int e;
SampleException(int num1)
{
e = num1;
}
public String toString()
{
return "(" + e +") is less than Ten";
}
}
class Demo1
{
static void sum(int num,int num1) throws SampleException
{
if(num1<10)
{
throw new SampleException(num1);
}
else
{
System.out.println(num+num1);
}
}
public static void main(String[] args)
{
try
{
sum(-5, 4);
}
catch(SampleException e1)
{
System.out.println(e1);
}
}
}
ログイン後にコピー

出力:

Java ユーザー定義の例外

例 #4: ID の有効性を確認する

class IDNotValid extends Exception
{
public IDNotValid(String s) {
super(s);
}
}
class Demo
{
static void find(int array[], int id) throws IDNotValid
{
boolean stdFlag = false;
for (int i = 0; i < array.length; i++) {
if(id == array[i])
stdFlag = true;
}
if(!stdFlag)
{
throw new IDNotValid("ID is not Valid!");
}
else
{
System.out.println("ID is Valid!");
}
}
public static void main(String[] args)
{
try
{
find(new int[]{101, 102, 103, 104, 105, 106, }, 108);
}
catch(IDNotValid e)
{
System.out.println(e);
}
}
}
ログイン後にコピー

出力:

Java ユーザー定義の例外

ここでは独自の例外実装を生成しています。

これらのユーザー定義の例外を使用すると利点があります。これにより、ユーザーが意図した通りの例外をスローできるようになります。ユーザーは既存のアプリケーションを再利用することもできます。例外をキャッチするコード部分は、実際の例外がコードによってスローされたのではなく、他のサードパーティ コードによってスローされた可能性を処理します。
ユーザーはエラー処理コードを通常のコードから分離し、エラーの種類をグループ化して区別することができます。
例外クラスの作成にもいくつかのルールがあります。

  • コンストラクター: これは、カスタム例外クラスでコンストラクターを作成する場合には必須ではありません。カスタム例外クラスでパラメーター化されたコンストラクターを提供することをお勧めします。
  • 命名規則: すべての例外クラスは JDK 側によって提供されます。したがって、カスタム例外は命名規則に従う必要があります。
  • 例外クラスの拡張: ユーザーがカスタム例外クラスを作成している場合、ユーザーは例外クラスを拡張する必要があります。

これで、「Java ユーザー例外クラス」のトピックを終了します。 Java プログラミングで発生する Java のほとんどすべての一般的な例外が提供されます。ユーザー定義の例外クラスの作成と、ユーザー定義の例外の例をいくつか見てきました。ユーザーはクラス内に何も実装する必要はありません。メソッドは必要ありません。また、toString() 関数をオーバーライドして、カスタマイズされたメッセージを表示します。

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

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!