質問: new CalTotalException(total); //} //ユーザー定義例外処理クラス 例外演算子ptn public class Users_Caic extends Exception { Users_Caic () throws Users_Caic { System.out.println("Users_Caic によるエラーです!"); } } //ユーザー定義例外処理クラス 合計値超過ptn public class CalTotalException extends Exception { // public CalTotalException (int total) { // // if(( 0 <= total)&&(total >= 100 )){ // // System.out.println("合計値超過エラー!!!"); // // } // } System.out.println("CalTotalExceptionクラスによる 演算結果値範囲超過エラー"); } }
回答: 質問文もコードをベースに動作するように書いてみました。 例外クラスの書き方はあまり適切な例になっていません。 web や書籍で例外クラスの書き方については別途勉強することをお勧めします。 ``` public class CalcMain { public static void main(String[] args) { //入力チェック int num1 = Integer.parseInt(args[0]); int num2 = Integer.parseInt(args[2]); int total; try { //入力演算子判定処理 if ( args[1].equals("+") ) { //加算パターン total = num1 + num2 ; } else if ( args[1].equals("-") ) { //減算パターン total = num1 - num2 ; } else if ( args[1].equals("*") ) { //乗算パターン total = num1 * num2 ; } else if ( args[1].equals("/") ) { //除算パターン total = num1 / num2 ; } else { throw new BadOperationException(args[1]); } if (total < 0 || total > 100) { throw new CalTotalException("total=" + total); } System.out.println("total=" + total); } catch (BadOperationException ex) { System.out.println(ex.toString()); } catch (CalTotalException ex) { System.out.println(ex.toString()); } } } //ユーザー定義例外処理クラス 例外演算子 class BadOperationException extends Exception { public BadOperationException(String message) { super(message); } } //ユーザー定義例外処理クラス 合計値超過 class CalTotalException extends Exception { public CalTotalException(String message) { super(message); } } ``` 実行例 ``` $ java CalcMain 1 + 2 total=3 $ java CalcMain 1 x 2 BadOperationException: x $ java CalcMain 99 + 2 CalTotalException: total=101 ```