我在代码的这一部分中不断收到错误表达错误。
switch(length) {
case 1: if(message.equalsIgnoreCase("End")){
throws new AnotherException("Stop",true);
} else {
throws new AnotherException("Continue",false);
}
break;
}
特别是如果我添加
throw new AnotherException
有人可以解释导致此错误的原因吗?感谢。
答案 0 :(得分:0)
您需要将关键字throws
更改为throw
。
在抛出异常时,使用throw
并在方法签名中使用throws
来表示该方法的预期异常。
将throws new AnotherException("Continue",false);
更改为throw new AnotherException("Continue",false);
答案 1 :(得分:0)
各种错误:
throws AnotherException
throw
代替throws
break
语句是无法访问的代码,并且不会允许编译,因为if
的双方都会解决投掷Exception
。所以你的代码必须如下:
public static void main(String[] args) throws AnotherException {
String message = "End";
int length = 1;
switch (length) {
case 1:
if (message.equalsIgnoreCase("End")) {
throw new AnotherException("Stop", true);
} else {
throw new AnotherException("Continue", false);
}
}
}
答案 2 :(得分:-1)
使用throw而不是throws。抛出用于声明方法头之后抛出异常的可能性。
yourMethod(...) throws AnotherException {
//stuff....
switch(length)
{
case 1: if(message.equalsIgnoreCase("End")){
throw new AnotherException("Stop",true);
}
else{
throw new AnotherException("Continue",false);
} break;
//stuff...
}