栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

面试第五发(异常)

Java 更新时间:发布时间: 百科书网 趣学号

 

1、异常有哪些?

答:异常体系可以分为error和Exception两类,error指示系统级错误,一般不出现,出现导致jvm关闭,再就是Exception,这也是我们常遇到的异常的集合,Exception又可以分为编译时异常也就是没有继承RuntimeException类的异常,通常可能编译器就会报错,就比如我们常遇到的sqlException ,NotFoundException ,classNotFoundException ,IOException等等都是编译期间的异常,再就是运行时异常,指在编译期间无异常,但是运行会出现异常,比如我们常遇到的NullPointException(空指针异常)、类型强制转换异常:ClassCastException;.算术异常类:ArithmeticExecption;数组下标越界异常:ArrayIndexOutOfBoundsException等等这些异常

2、运行时异常和受检异常有什么区别?

答:运行时异常一般指的是继承了RuntimeException的异常,他表示这种异常不需编译器进行检测,只是运行阶段可能会出现异常,我们通常使用try-catch语句进行捕获,受检异常则表示在编译时代码会出现问题,就比如我们在写sql是会有sqlException,它属于受检异常。

3、Try-catch-final中,final是不是一定会被执行,在什么情况下执行?

答:不一定会被执行,可能在执行final之前,我们调用系统类,调用exit退出程序,则final就不会执行

正常情况下final总是在return之前执行

4、Try-catch-final中,哪些部分可以被省略

答:catch和final都能被省略

5、try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

答:会执行,缺final方法会在return之前执行

6、Error 和 Exception 的区别?

答:前者要么不出问题,只要出现问题,我们只是通过简单的代码调试是无法解决的,所以对于就没有捕获异常的必要

后者,是有预见性的,比如我们经常会遇到什么问题,我们可以提前进行设计,当发生这个问题我们可以通过调试代码进行修改

7、throw和throws的区别

答:throw一般在try-catch 语句中使用,每次只能捕获抛出单个异常

throws一般在方法体使用,可以同时抛出多个异常

8、主线程可以捕获子线程的异常吗?

答:一般是不可以的。每个线程只能捕获自己本身的异常

9、如何自定义异常

答:继承Execption类或者RuntimeExecption类,然后构造方法,以及tostring。

//自定义异常类
public class MyException extends Exception{
​
    //传递数字>10;
    private int de;
​
    public MyException(int a) {
        this.de = a;
    }
​
    //toString:异常的打印信息
    @Override
    public String toString() {
        return "MyException{"  + de + '}';
    }
}

10、常见的 RuntimeException 有哪些?
NullPointerException - 空指针引用异常
ClassCastException - 类型强制转换异常。
IllegalArgumentException - 传递非法参数异常。
ArithmeticException - 算术运算异常
ArrayStoreException - 向数组中存放与声明类型不兼容对象异常
IndexOutOfBoundsException - 下标越界异常
NegativeArraySizeException - 创建一个大小为负数的数组错误异常
NumberFormatException - 数字格式异常
SecurityException - 安全异常
UnsupportedOperationException - 不支持的操作异常
NegativeArrayException —— 数组负下标异常
ArrayIndexOutOfBoundsException - 数组下标越界异常
EOFException - 文件已结束异常
FileNotFoundException - 文件未找到异常
NumberFormatException - 字符串转换为数字异常
SQLException - 操作数据库异常
IOException - 输入输出异常
NoSuchMethodException - 方法未找到异常

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/956929.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号