B.异常处理
1.Java 中异常分为哪些种类
编译时异常(也叫强制性异常)也叫CheckedException 和运行时异常(也叫非强制性异常)也叫 RuntimeException.
当前方法指导如何处理该异常,则用try...catch 块来处理该异常.
当前方法不知道如何处理,则在定义该方法是声明抛出异常.
2.error 和 exception 的区别?
Error类和 Exception 类的父类都是 Throwable 类
Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢出等.仅靠程序本身无法恢复和预防
Exception 类表示程序可以处理的异常, 可以捕获且可能恢复.
3. throw 和 throws 的区别
1) throw 语句用在方法体内,表示抛出异常,由方法体内的语句处理.
2)throw 是具体向外抛出异常的动作,所以它抛出的是一个异常实例,执行 throw 一定是抛出了某种异常.
throws:
1) throws 语句是用在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理.
2) throws主要是声明这个方法会抛出某种类型的异常,让它的使用者要知道需要捕获的异常的类型.
3)throws 表示出现异常的一种可能性,并不一定会发生这种异常.