カスタムJavaのtry-catchキャッチ例外

  トピックス要件:入力値出力90-100「優秀」、80〜90個の出力「良い」、70〜80出力「」、60〜70個の出力「パス」、0-60出力「」失敗し、他のインプットキャプチャ例外と適切な情報を要求します。

  コードは以下の通りであります:

1つの インポートjava.util.Scanner。
2  
3 @SuppressWarnings( "シリアル" 4  // 自定义异常类
5  クラス TryExceptionが延び例外
 6  {
 7      / ** 
8       * 
 9       * / 
10      プライベート 静的 最終 長いのserialVersionUID = 1L 11      公衆TryException(文字メッセージ){
 12          (メッセージ)。
13      }
 14  }
 15の 
16  パブリック クラス{TryTheWrong
 17。     静的 =スキャナ新しい新しいスキャナ(System.in);
 18である     パブリック 静的 ボイドメイン(文字列引数[]){
 19。         // キャッチ試みる実行
20である         トライ{
 21は             JudgeError();
 22である         }
 23れる         キャッチ(TryException E) {
 24              // 出力カスタム例外情報
25              のSystem.out.println(e.getMessage());
 26れる         }
 27      }
 28      // 操作入力値を含む方法、およびバックスローするように供給される異常情報の値の決意カスタム例外クラス
29      パブリック 静的な 無効JudgeError()がスローTryException
 30      {
 31である          文字列S = in.next();
 32          文字列M = "^ [0-9] * $" ;
 33である         // すべての数字かどうかを判断する
34である         IF!(S.matches(M) ){
 35               新しい新 TryException( "入力含有非数値エントリ" );
 36          }
 37          // 文字列がintトランスフェクトされた
38である         INT I = Integer.valueOf(S)、
 39          IF(I> 100 ){
 40               新しい新 TryException(「入力値が「100未満0以上である);
 41          }
42          もし(I> = 90 iは<&& = 100 ){
 43              のSystem.out.println( "优" )。
44          }
 45          そう なら(I> = 80 iは<&& 90 ){
 46              のSystem.out.println( "良" )。
47          }
 48          そう なら(I> = 70 iは<&& 80 ){
 49              のSystem.out.println( "中" )。
50          }
 51          そう なら(I> = 60 iは<&& 70 ){
 52              のSystem.out.println( "及格" )。
           (I> = 0 && iが60 < ){
 55              のSystem.out.println( "不及格" )。
56          }
 57          {
 58              のSystem.out.println( "ERROR" )。
59          }
 60      }
 61 }

  キャプチャし、新たな異常情報のフィードバックをスローするようにsuper()を使用して、カスタム例外クラスのTryExceptionを作成し、最後にキャッチ経由のSystem.out.println(e.getMessage());出力。この操作を適用することで、クラス(JudgeError)はクラス名(TryException)に対応するスローことに留意されたいです。入力が未知であるので、入力操作を行う際に、すべての数か否かを判断する正規表現による第1の文字列を入力として、文字列をintに変換され、それはかどうかが判定結果に応じて、100よりも大きいか否かを判断する、数値以外の元素を含んでいてもよいです場合は、他のフィードバック例外情報は、問題がなければ、操作、出力正しい結果場合は、以下に進みます。

おすすめ

転載: www.cnblogs.com/20183711PYD/p/11756108.html