Java异常
来源:互联网 发布:java麻将游戏代码算法 编辑:程序博客网 时间:2024/04/30 06:07
异常是指程序运行(非编译)时所发生的非正常的情况或者错误,当程序违反了语义规则时,JVM就会将出现的错误表示为一个异常并抛出。异常可以在catch块中进行捕获和处理。
异常处理的目的:提高程序的安全性和鲁棒性。
Java中把异常当作对象来处理,并且定义了一个基类(java.lang.Throwable)作为所有异常的父类。
异常的的分类:Error(错误)+ Exception(异常)
1)Error表示程序在运行期间出现了非常严重的错误,并且错误不可恢复,属于JVM层次的严重错误,会导致程序的终止执行。例如OutOfMemoryError和ThreadDeath。
2)Exception表示可以回复的异常,编译器可以捕捉到。
包含:检查异常(checked exception )+运行时已成(runtime exception)。
2.1)检查异常:最常碰到,比如IO异常和SQL异常,发生在编译阶段。
异常的发生不会导致程序出错,处理后会可以继续执行后续操作
程序依赖于不可靠的外部条件。
2.2)运行时异常:编译器不强制对其进行异常捕获并处理。如果不对这种异常进行处理,当出现这种异常时,会有JVM处理。常见的与NullPoingerException(空指针异常)、ClassCastException(类型转换异常)、ArrayIndexOutOfBoundsException(数组越界异常)、ArrayStoreException(数组存储异常)、BufferOverflowException(缓冲区溢出异常)、ArithmeticException(算术异常)等。
出现运行时异常,系统会把异常向上层抛出,知道遇到处理代码为止。多线程用Thread.run()抛出,单线程用main()抛出。线程抛出异常,线程退出;主程序抛出异常,程序终止。
异常处理注意事项:
a.先捕获子类,后捕获基类
b.尽早抛出异常,同时处理捕获的异常,或者从错误中恢复,或者让程序仅需执行。
c.可自定义继承自Exception的异常类
d.异常能处理就处理,不能处理就抛出。最终没有处理的异常,JVM会进行处理
- java 异常,java,异常
- Java 异常 异常链
- Java异常
- Java 异常
- JAVA 异常
- Java异常
- java 异常
- Java异常
- java异常
- Java异常
- java异常
- java异常
- java异常
- java 异常
- java异常
- java异常
- java异常
- Java异常
- hdu 1576 A/B||hdu 3049 Data Processing 乘法逆元
- qml学习--------------利用Canvas绘制图片
- 黑马程序员----C语言学习笔记之循环结构介绍和用法举例
- 遍历Element自定义属性
- Love is 0,0 is start!
- Java异常
- android 基于ListView和CheckBox实现多选和全选记录的功能(转)
- js中可以改变作用域的三中方式(改变this)
- Qt中Ui名字空间以及setupUi函数的原理和实现
- 图片缩放、上传图片改变大小
- 定时器的配置
- JavaScript学习笔记之JS基础入门
- 聊一下和冠 Wacom数位板
- gulp 教程 初级