我有这堂课:
public class SomeClass {
public void someMethod() {} throws someException
public class someException extends Exception { // Exception class
public someException(String message) {
super(message);
}
}
}
另一堂课:
public class SomeOtherClass {
public static void main (String[] args) {
SomeClass obj = new SomeClass();
try {
obj.someMethod();
} catch (someException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Eclipse抱怨" someException无法解析为类型"。我试着添加
import SomeClass.someException
然后它说"导入SomeClass无法解决"
你当然可以将someException放在一个单独的文件中,而不是让它嵌套,这是唯一的方法吗?
答案 0 :(得分:3)
您应该可以通过使用类名SomeClass.someException
对其进行限定来使用该类。如果您更愿意导入它,则必须将代码放入包中。然后你可以这样做:
import yourpkg.SomeClass.someException;
另外,这里的语法有点不对:
public void someMethod() {} throws someException
应该是
public void someMethod() throws someException {}
(但也许这是你问题中的错字。)
您可能还想考虑创建嵌套类static
,除非您确实需要引用封闭对象:
public static class someException extends Exception {
...
}