カスタム例外クラス(例外)とユーザー登録のケース

com.itheima.demo04.MyExceptionパッケージ変更のため、

インポートjava.util.Scanner; 

/ * 
    条件:プロ、そのユーザー名はすでに登録されている:我々は、ユーザー名がすでに存在する場合は、例外がスローされ、ヒントは、登録操作をシミュレートします。

    分析:
        1.配列保存された登録ユーザ名(データベース)の使用
        2.スキャナキャプチャ登録ユーザ名(フロントページ)ユーザによる入力
        方法を定義する3は、ユーザ入力に登録されているユーザ名が決定されます
            トラバーサルストレージには、ユーザー名の配列を登録している、アクセス各ユーザー名
            のユーザー入力の取得したユーザ名とユーザー名を使用しては比較的にある
                真:
                    、ユーザー名は既に存在していRegisterExceptionが異常スロー、ユーザ名がすでに登録されていることを、「プロユーザーに知らせます「; 
                偽:
                    比較を通過し続ける
            サイクルが終わった場合は、まだ重複したユーザー名を検索し、かつを促す」;」正常に登録おめでとう!の
 * / 
パブリッククラスDemo02RegisterException { 
    既に登録済みのユーザー名を保存するための配列を// 1.使用(データベース)
    静的な文字列[] = {ユーザー名のは、「ジョー・スミス」であり、「ジョン・ドウ」、

    静的な無効メインパブリック(文字列[]引数){ 
        // 2スキャナは、登録ユーザ名(フロントページ)は、ユーザによる入力を使用して取得した。
        スキャナースキャナー新しい新しいSC =(System.in); 
        のSystem.out.println(「入力自分のユーザー名を登録するには:「); 
        文字列名= sc.next(); 
        CheckUserName(ユーザー名); 

    } 

    // 3は、メソッドを定義し、ユーザー名は裁判官にユーザーの入力を記録した。
    公共の静的な無効CheckUserName(文字列をユーザ名){ 
        //ストレージアレイを横断すると、登録ユーザ名、各ユーザ名にアクセスされている
        ため(文字列名:ユーザ名){ 
            //ユーザが入力したユーザ名とユーザ名を比較するために使用し得る
            場合(name.equals(ユーザ名) ){ 
                // trueに:ユーザー名がすでに存在している、例外がRegisterExceptionスローされる「プロ、ユーザー名が登録されている」のユーザーに通知; 
                スロー新しい新RegisterException(「プロ、ユーザ名がすでに登録されている」); //は、実行をスローします異常、治療せずに、JVMの処理に、割り込み処理
            } 
        } 

        サイクルが終わって、まだ、ユーザープロンプトを重複したユーザー名を検索した場合は、//、「おめでとう、登録が成功する!」;
        System.out.println( "正常に登録おめでとう!"); 
    } 
}

com.itheima.demo04.MyExceptionパッケージ変更のため、

インポートjava.util.Scanner; 

/ * 
    条件:プロ、そのユーザー名はすでに登録されている:我々は、ユーザー名がすでに存在する場合は、例外がスローされ、ヒントは、登録操作をシミュレートします。

    分析:
        1.配列保存された登録ユーザ名(データベース)の使用
        2.スキャナキャプチャ登録ユーザ名(フロントページ)ユーザによる入力
        方法を定義する3は、ユーザ入力に登録されているユーザ名が決定されます
            トラバーサルストレージには、ユーザー名の配列を登録している、アクセス各ユーザー名
            のユーザー入力の取得したユーザ名とユーザー名を使用しては比較的にある
                真:
                    、ユーザー名は既に存在していRegisterExceptionが異常スロー、ユーザ名がすでに登録されていることを、「プロユーザーに知らせます「; 
                偽:
                    比較を通過し続ける
            サイクルが終わった場合は、まだ重複したユーザー名を検索し、かつを促す」;」正常に登録おめでとう!の
 * / 
パブリッククラスDemo01RegisterException { 
    既に登録済みのユーザー名を保存するための配列を// 1.使用(データベース)
    静的な文字列[] = {ユーザー名のは、「ジョー・スミス」であり、「ジョン・ドウ」、

    静的な無効メインパブリック(文字列[] args)を/ *スローRegisterException * / { 
        //取得するユーザー入力、登録ユーザー名を(フロントページ)を使用して、スキャナ2。
        スキャナスキャナ新新SC =(System.in); 
        のSystem.out .println(「登録したいユーザー名を入力してください:」); 
        文字列名= sc.next(); 
        CheckUserName(ユーザー名); 

    } 

    // 3には、ユーザー名は裁判官へのユーザー入力を登録し、メソッドを定義します。
    静的ボイドCheckUserName公開(文字列名)/ *スローRegisterException * / { 
        //登録ユーザ名、各ユーザ名にアクセスされたストレージアレイを横切る
        (ストリング名:ユーザ名)用{ 
            //取得したユーザ名とユーザ入力を使用ユーザ名を比較
            (name.equals(ユーザー名))のIF { 
                trueに//:ユーザー名は既に存在して、例外がスローされRegisterException「プロ、ユーザ名がすでに登録されている」のユーザに通知します。 
                試し{
                    (「ユーザー名が既に登録されているプロ」)新しいRegisterExceptionを投げる; 
                }キャッチ(RegisterException E){ 
                    e.printStackTrace();                     リターン;プロセスの//終わり、他のコンテンツの早期終了の方法は実行されません 
                } 
            } 
        } 
        //サイクルが終わって、まだ、ユーザープロンプトを重複したユーザー名を検索した場合は、「おめでとう、登録が成功した!」; 
        System.out.printlnは(「正常に登録おめでとう!」); 
    } 
}



カスタム例外クラス:

用com.itheima.demo04.MyException Package変更; 
/ * 
    カスタム例外クラス:
        あなたには、いくつかの例外クラスを定義する必要がありますので、提供ExceptionクラスのJava、私たちが使用するのに十分な、
    フォーマットを:
        パブリッククラスXXXExcepiton例外を拡張| RuntimeExceptionは、{ 
            空の引数のコンストラクタの追加
            アドオンを情報を除いて構成する方法
        } 
     注:
        1.カスタム例外クラス一般例外で終了している、そのような説明は例外クラスである
        2.カスタム例外クラス必須継承例外またはのRuntimeException 
            継承例外:そうカスタム例外クラスは、内部メソッドが例外コンパイルをスローした場合、コンパイルは、あなたが例外を処理しなければならないことは例外である、またはスロー、またはしてみてください...キャッチ
            処理をせずに、実行時例外クラスが例外を定義しているので、から:継承されたのRuntimeExceptionを、仮想マシンの処理に(割り込み処理)
 * / 
パブリッククラスRegisterException延び/ *例外* /のRuntimeException { 
    //の空のコンストラクタパラメータを追加
    )(公衆RegisterExceptionを{
        スーパー();
    } 
    / * 
        とコンストラクタの例外情報を追加
        ビューのソースコードのすべての例外クラスは、とのコンストラクタ例外情報を持つことになります見つけ
        内部メソッドは、コンストラクタの例外情報を親クラスを呼び出す
        親クラスは、この例外の情報を処理するためにそうすることを
     * / 
    パブリックRegisterException(文字メッセージ){ 
        スーパー(メッセージ); 
    } 
}
公開された98元の記事 ウォン称賛43 ビュー30000 +

おすすめ

転載: blog.csdn.net/qq_42352666/article/details/104810279