java se检查异常,JavaSE:异常(下)

一些问题

001.Error和Exception的区别?

Error是程序无法处理的错误,如系统崩溃、虚拟机错误、内存空间不足等,这类问题导致应用程序中断;这些错误是不可查的,编写程序者不用关心这类异常;

Exception是程序可以处理的异常。它又分为检查型异常(checked exception)和非检查型异常(unchecked exception)

检查型异常:发生在编译时,需要使用try-catch(或者throws)处理异常,否则编译不会通过;

非检查型异常:发生在程序运行时,如以零作除数引发的ArithmeticException,导致程序崩溃;

002.最常见的5种RuntimeException

java.lang.NullPointerException --空指针异常

java.lang.ClassNotFoundException --指定的类找不到

java.lang.NumberFormatException --数字格式转换异常

java.lang.ArrayIndexOutOfBoundsException --数组下标越界异常

java.lang.IllegalArgumentException --方法传递参数错误

java.lang.ClassCastException --数据类型转换异常

java.lang.InstantiationException --实例化异常

SQLException --SQL异常,常见于操作数据库时的SQL语句错误

003.throw和throws的区别?

throw

throw语句用在方法体内,表示抛出异常,由方法体内的语句处理;

throw是具体向外抛出异常的动作,所以它抛出的是一个异常实例;

throws

throws语句用在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理;

throws主要是声明这个方法会抛出某种类型的异常,让它的使用者要知道需要捕获的异常的类型;

throws表示出现异常的一种可能性,并不一定会发生这种异常;

004.final、finally、finalize的区别?

final:声明变量时,表示该变量不可修改;声明方法时,表示该方法不可重写;声明类时,表示类不可被继承;

finally:是异常处理语句结构的一部分,表示总是执行;

finalize:Object类的一个方法,在垃圾回收器将要回收对象所占内存之前被调用;(finalize机制现在已经不推荐使用,并且在JDK9开始被标记为deprecated)

005.一些选择题

/**

* 输出30

*/

public class Test {

public static void main(String[] args) {

int num = 10;

System.out.println(test(num));

}

public static int test(int a){

try{

a+=10;

return a;

}catch(Exception e){

return 3;

}finally{

a+=10;

return a;

}

}

}

/**

* 输出20

*/

public class Test {

public static void main(String[] args) {

int num = 10;

System.out.println(test(num));

}

public static int test(int a){

try{

a+=10;

return a;

}catch(Exception e){

return 5;

}finally{

a+=10;

}

}

}

/**

* finally里面的代码不会被执行(特例)

*/

try{

//do someting

System.exit(1);

}finally{

System.out.println("finally");

}

复制代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值