noo*_*mer 0 java exception try-catch
我在我的catch语句中用红色下划线,不确定我得到的错误是什么"永远不会在相应的try语句中抛出"这是什么意思?一切看起来都很好.
public void validateTriangle(int sidea, int sideb, int sidec) throws InvalidValueException {
try {
if ((sidea + sideb > sidec) || (sideb + sidec > sidea) || (sidea + sidec > sideb)) {
findArea(side1, side2, side3);
}
} catch (InvalidValueException excep) {
message = excep.getMessage();
}
}
Run Code Online (Sandbox Code Playgroud)
"永远不会抛出相应的try语句的主体"意味着它所说的内容:你告诉代码捕获一个InvalidValueException,但它不会被try块中的任何代码抛出.显然findArea不会抛出异常(显然你的内联代码没有).
一个try/catch块被用来捕捉内发生的异常try块,进行处理(对应catch块),所以没有点在catch对从未发生在一个例外try.IDE(我相信java编译器工具的lint功能)将为您标记,因为捕获不会发生的错误可能是一个逻辑错误.