我收到以下错误(据我所知):Overriden method does not throw ...
我想知道如何在View.onClickListener的onClick
方法中抛出异常表单(如果可能的话)。
答案 0 :(得分:2)
如果初始声明不包含throw
声明,则不能在重写方法中抛出已检查异常。
但是,您可以抛出未经检查的异常,这是一个异常,编译器不会检查它是否被处理:
@Override
public void onClick(View target) {
throw new RuntimeException();
}
或继承RuntimeException
的任何异常,内置或自定义。此类内置例外列表为here。
答案 1 :(得分:0)
您可以随时启动例外
throw new Exception();
您甚至可以实现自己的例外并获取其参数
public class MyOwnException extends Exception {
private int data;
public MyOwnException(int data) {
super();
this.data = data;
}
public int getData() {
return data;
}
}
...
try {
throw new MyOwnException(10);
} catch {MyOwnException moe) {
int i = moe.getData();
// i = 10;
}
请记住,如果方法可能抛出异常,则必须声明它
public void sampleMethod throws MyOwnException {
...
}