【发布时间】:2016-02-05 19:10:56
【问题描述】:
我在Triangle 类中使用下面的代码来允许用户设置声明的Triangle 的第一个、第二个或第三个点。
public Point get(String p) throws IllegalArgumentException {
IllegalArgumentException e = new IllegalArgumentException();
try {
if (p == "first") { return first; }
else if (p == "second") { return second; }
else if (p == "third") { return third; }
else { throw e; }
}
catch (e) {
System.out.println("Error: " + e);
}
}
编译器告诉我:
Triangle.java:41: error: missing return statement
}
^
但我认为 catch 语句的重点是能够捕获错误并返回描述错误的字符串,而不必担心匹配函数的返回类型。
【问题讨论】:
-
您是comparing strings by reference,但该特定错误是因为
catch块不会导致return或throw,并且此方法需要返回Point。
标签: java