如何在if语句中抛出此类场景中的异常

时间:2013-12-09 13:35:25

标签: java exception

  if (upperCaseString.equals("X") || upperCaseString.equals("Y") || upperCaseString.equals("MT")) {
         return upperCaseString;
      } else {
         Integer integerValueOfString = Integer.parseInt(upperCaseString);
         if (integerValueOfString >= 1 || integerValueOfString <= 22) {
            return integerValueOfString.toString();
         } else {

         }
      }

我想在最后一个else块中抛出异常。我试过了

throw new Exception system.out.println("Not valid range");

但是那也没有用,我尝试了试试但我不知道要抓什么,因为它只是进入了其他

2 个答案:

答案 0 :(得分:4)

} else {
    throw new Exception("my Message");
}

如果您在示例中使用了类似已检查的异常,则必须在方法签名中添加throws声明。

您还可以抛出未经检查的异常(异常RuntimeException或其扩展),在这种情况下,不必在方法签名中添加throws

详细了解例外:How to throws exceptions

答案 1 :(得分:0)

当你试图写作时,你做错了 throw new Exception system.out.println("Not valid range");

    if (upperCaseString.equals("X") || upperCaseString.equals("Y") || upperCaseString.equals("MT")) 
    {
        upperCaseString = upperCaseString;
    } 
    else 
    {
        Integer integerValueOfString;
        try
        {
            return  Integer.parseInt(upperCaseString);
        }
        catch (NumberFormatException e1) //Here exception is caught and your custom exception is thrown as per your requirement
        {
            throw new Exception("Not valid range");
        }
        if (integerValueOfString >= 1 || integerValueOfString <= 22) 
        {
            return  integerValueOfString.toString();
        }
        else 
        {
            throw new Exception("Not valid range");
        }
    }