簡體   English   中英

開關盒內的異常處理

[英]exception handling inside switch case

我想要java異常,其中大小寫不是+, - ,*或/和defualt我想讓異常顯示錯誤,如默認情況下“非法算術運算”

  private double evaluate(){
            double result ; 
           switch (operator) {
            case '-':
                result = left - right;
                break;
            case '*':
                result = left * right;
                break;
            case '/':
                result = left / right;
                break;
            case '+':
                result = left + right;
                break;
            default:   System.out.println ("ILLEGAL Arthemetic Operation " + operator);
             break;    //i want to show exception error here
        }
           return result;
           }

您可以在default情況下簡單地拋出異常

 default:   System.out.println ("ILLEGAL Arthemetic Operation " + operator);
            throw new Exception("Illegal Operation" + operator);

您可以拋出一個異常 - 您可以在代碼中的那個位置以與任何其他方式相同的方式執行此操作:

// ....
default:   
    System.out.println ("ILLEGAL Arthemetic Operation " + operator);
    throw new IllegalArgumentException("ILLEGAL Arthemetic Operation " + operator);
}

你不需要break; 因為它永遠不會到達。

您可以按如下方式更改代碼

 private double evaluate(char operator) throws Exception{
        double result ; 
       switch (operator) {
        case '-':
            result = left - right;
            break;
        case '*':
            result = left * right;
            break;
        case '/':
            result = left / right;
            break;
        case '+':
            result = left + right;
            break;
        default:  
            throw new Exception("Illegal Operation" + operator);
          }
       return result;
       }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM