Java面试-------异常篇

异常篇

 

 

一.Java中什么是Exception?

在java中,异常功能是通过实现比如Throwable,Exception,RuntimeException之类的类,所有的异常都是通过Throwable衍生出来的。

二.Java中的检查型异常和非检查型异常?

  1. 检查型异常需要使用try, catch和finally关键字在编译期进行处理,否则会出现编译器会报错
  2. Java中所有继承自java.lang.Exception类的异常都是检查型异常,所有继承自RuntimeException的异常都被称为非检查型异常。

三.在Java异常处理的过程中,你遵循的那些最好的实践是什么?

  1. 在调用方法是如果返回null,你可以让返回布尔类型的,可以防止空指针异常
  2. Catch模块里面至少写出错误类型的代码
  3. 不能让数据库相关的异常显示到客户端的

四.throw 和 throws这两个关键字在java中有什么不同?

  1. throw是语句一般抛出异常都在代码块的内部,当程序出现某种逻辑错误时由程序员手动抛出,一次只能抛一个
  2. Throws是方法一般抛出声明,可以抛出多个

五.什么是异常链?

“异常链”是Java中非常流行的异常处理概念,是指在进行一个异常处理时抛出了另外一个异常,由此产生了一个异常链条。该技术大多用于将“ 受检查异常” ( checked exception)封装成为“非受检查异常”(unchecked exception)或者RuntimeException。

六.Error

类包括一些严重的程序不能处理的系统错误类,如内存溢出、虚拟机错误、栈溢出等。这类错误一般与硬件有关,与程序本身无关,通常由系统进行处理,程序本身无法捕获和处理。常见的error有:NotClassDeFountError(类未定义错误),OutofMemoryError(内存溢出错误),StackOverFlowError(栈溢出错误)。

七.Java中final,finalize,finally关键字的区别?

final和finally是Java的关键字,而finalize则是方法。final关键字在创建不可变的类的时候非常有用,只是声明这个类是final的。而finalize()方法则是垃圾回收器在回收一个对象前调用,但也Java规

范里面没有保证这个方法一定会被调用。finally关键字是唯一一个和这篇文章讨论到的异常处理相关的关键字。在你的产品代码中,在关闭连接和资源文件的是时候都必须要用到finally块。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值