Java的异常体系 面试题

1.Java的异常体系结构

A throwable 任何异常、错误的根类  checked

    a.Exception异常,可以从异常状态中恢复

            a.1 RuntimeException 预料之外的异常,通常代表一个Bug(例如nullpointer)unchecked

            a,2 其他Exception,预料之中的异常,代表编程中预期的编程状态checked

    b.Error,错误不可恢复的

2.什么是checked/unchecked/runtime exception?

除了Runtime exception之外的其他都是checked的必须捕获,将派生于Error或者RuntimeException的异常称为unchecked异常,

所有其他的异常成为checked异常。runtime exception是uncheck的异常

3.try/catch/finally的执⾏顺序?

先在try里执行语句,如果有异常错误就丢出来用catch(从上到下),如果没有异常就跳过catch块,进入finnally(一定会执行)执行

4.catch中return了,finally还会执⾏么?

finally是一定会被执行的

5.finally中return了。会发生什么事?

finally的return会替代掉原先的return值(绝对不要做)

6.throw/throws的区别

任何时候有问题都可以throw一个异常出来,阻止当前方法的进行,是一个丢出异常的语句

throws则是在用在方法签名上,告知调用者该方法会丢出异常(类似说明)

7.final/finally/finalize的区别?

final用于类的时候声明类不能被覆盖

final作用于变量时,声明变量不可被修改(不能改变指向)

finally是在try/catch的过程中执行最后资源清理工作,一定会得到执行。

finalize在垃圾回收时,由垃圾回收器去调用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 标签:【每日一题】 到目前为止,整理了Android四大组件、Android基本常识、还有这个Java基础面试题,...
    草帽团长阅读 1,306评论 3 15
  • 一、JavaSE 1、面向对象的特征有哪些方面 抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地...
    月生89阅读 965评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,780评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,144评论 0 62
  • 渐变的面目拼图要我怎么拼? 我是疲乏了还是投降了? 不是不允许自己坠落, 我没有滴水不进的保护膜。 就是害怕变得面...
    闷热当乘凉阅读 4,349评论 0 13