姬長信(Redy)

Java:try-catch之后缺少return语句


参见英文答案 > Java Compiler Error: Missing Return Statement????????????????????????????????????2个
我在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语句的要点是能够捕获错误并返回描述错误的字符串,而不必担心匹配函数的返回类型.