1.Java中,处理异常的两大步是?
捕获异常
声明异常
2.如果catch两个异常,一个是父类,一个是子类。这两个异常的catch顺序如何
确定?
子类异常在前父类异常在后
3.finally里面一般放置什么代码?
无论是否发生异常,都必须要执行的语句放到finally中, 比如数据库连接的关闭、IO流的关闭、socket连接的关闭等物理连接的关闭
4.Error和Exception的区别和联系
联系:Error与Exception都继承自Throwable类
区别:
Exception:
[1]可以是可被控制(checked)或不可控制的(unchecked)
[2]表示一个由程序员导致的错误
[3]应该在应用程序级被处理
Error:
[1]总是不可控制的(unchecked)
[2]经常用来用于表示系统错误或低层资源的错误
[3]如果可能的话,应该在系统级被捕捉
5.Throwable是一个类还是接口?
Throwwable是一个类
6.如果碰到NullPointerException,我们一般应该如何查错?如何做处理?
如果碰能NullPointerException异常,我们应该使用debug进行调试
使用try-catch-finally进行异常捕获处理
7.【上机】完成课堂测试异常的代码
8.【上机】eclipse中,增加try-catch块的操作是怎么做的?
Alt+Shift+Z
9.【上机】自定义一个自己的异常类
public class SexException extends Exception {
public SexException() {
super();
}
public SexException(String message) {
super(message);
}
}
10.方法重写时,子类声明异常能否超出父类的范围?
子类声明异常不能超出父类的范围
[1]父类没有声明异常,子类也不能
[2]不可抛出原有方法抛出异常类的父类或上层类
[3]抛出的异常类型的数目不可以比原有的方法抛出的还多(不是指个数)
11.【上机】下面的代码,有什么问题? 解释原因
class A {
public void method() throws IOException { }
}
class D extends A {
public void method() throws Exception { }
}
子类重写时,不可抛出原有方法抛出异常的父类或上层类
12.说出你现在接触的几个异常?尽量多写。
ArithmeticException
NullPointerException
ClassCaseException
ArrayIndexOutOfBoundsException
NumberFormatException