我们可以为类级别创建自定义异常吗? 例如,我有一个A类,现在当我创建一个给定的对象或当我调用一个给定的方法时,我想抛出我的自定义异常。
答案 0 :(得分:2)
这是创建自己的Exception
:
public class LevelException extends Exception {
public LevelException(String message) {
super(message);
}
}
答案 1 :(得分:2)
您有两种例外checked
和unchecked
例外情况。
Unchecked
例外是RuntimeException
的子类,这些例外不需要在您的方法/构造函数描述中明确添加,调用代码不必管理明确地使用try/catch
块或抛出它。Checked
例外是Exception
的子类,但不是RuntimeException
的子类,需要在方法/构造函数描述中明确添加这些例外,调用代码必须使用try/catch
块或通过抛出它来明确管理。根据您的需要,您将选择其中一种可能性,如果您想强制执行调用代码来管理它,请使用checked
例外,否则请使用unchecked
例外。
Unchecked
例外
如何创建它:
public class MyException extends RuntimeException {
...
}
如何使用它:
public void myMethod() {
...
if (some condition) {
throw new MyException();
}
...
}
Checked
例外
如何创建它:
public class MyException extends Exception {
...
}
如何使用它:
public void myMethod() throws MyException {
...
if (some condition) {
throw new MyException();
}
...
}
您可以找到有关例外here
的更多详细信息