1.运行时异常与一般异常有何异同
分析答题过程:
(1)先要知道什么是程序异常?
(2)什么是运行时异常,
(3)什么是一般异常
答:
异常表示程序运行过程中可能出现的非正常状态。
运行时异常(Runtime Exception)表示虚拟机的通常操作中可能遇到的异常,是一种常见的运行错误。
1.运行时异常,我们可以不处理。
2.当出现运行时异常,总是由虚拟机接管。
3.假如出现RuntimeException,那么一定是程序员的错误。
4.出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。
5.如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。
6.抛出之后,如果是线程,这个线程也就退出了。
7.如果是主程序抛出的异常,那么这整个程序也就退出了。
8.运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。
9.出现运行时异常之后,要么是线程中止,要么是主程序终止。
10.常见的RE有:空指针,类转换异常,越界异常,非法参数异常,数组存储异常,算术异常,缓冲区溢出异常etc.
一般异常或者时检查时异常(Checked Exception)一般是外部错误,并不是程序本身的错误,而是在应用环境中出现的外部错误.
1.JAVA编译器强制要求我们必需对出现的这些异常进行catch。
2.IO异常,以及SQL异常,类找不到异常,文件找不到异常等。
区别:
运行时异常是程序员写的代码存在错误,一般异常是jvm本身的运行环境导致的外部错误,一般不是程序员的代码错误。
2.error和exception有什么区别?
答:
Throwable是所有Java程序中错误处理的父类,有两种资类:Error和 Exception。
Error:
1.表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行。
2.error是不可捕捉到的,无法采取任何恢复的操作
3.一般是由虚拟机抛出
Exception:
1.表示可恢复的例外,这是可捕捉到的。
3.异常处理的简单原理和应用
1.当java程序违反了java的语义规则时,java虚拟机就会将发生的错误表示为一个异常。
2.一种是java类库内置的语义检查。
3.另一种是java允许程序员扩展这种语义检查,
程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。
4.所有的异常都是java.lang.Thowable的子类。
4.写出你最常见到的6个Runtime Exception
都是java.lang.*下的异常
1.NullPointerException 空指针异常
2.ClassCastException 类型转换异常
3.IndexOutOfBoundsException 越界异常
4.IllegalArgumentException 非法参数异常
5.ArrayStoreException 数组存储异常
6.ArithmeticException 算术异常
7.BufferOverflowException 缓冲区溢出异常
2021年1月3日,湖北黄冈,微风
网友评论