Java异常
来源:互联网 发布:厦门老年大学网络报名 编辑:程序博客网 时间:2024/06/07 01:45
在程序运行过程中,如果JVM检测出一个不可执行的操作,就会出现运行时错误(running error).运行时错误会被作为异常抛出.异常就是一种对象,表示阻止正常进行程序执行的错误或者情况.如果异常没有被处理,那么程序就会非正常终止.
优势
使方法抛出一个异常给调用者,并由调用者处理该异常
将检测错误(由被调用的方法完成)从处理错误(由调用方法完成)中分离
异常类
系统错误,异常和运行时异常
- 系统错误
JVM抛出
内部系统错误- LinkageError
- VirtualMachineError
异常
由程序和外部环境引起的错误,这些错误能被捕获和处理- ClassNotFoundException
- IOException
运行时异常
程序设计错误- 类型转换
- 数组越界
免检异常
反应程序设计上不可恢复的逻辑错误
可能出现在任何地方
不强制要求编写代码捕获或声明
- RuntimeException
必检异常
编译器会强制程序员检查并通过try-catch块处理,或者在方法头进行声明
声明异常,抛出异常,捕获异常
声明异常
每个方法都必须声明它可能抛出的必检异常的类型
抛出异常
检测到错误的程序可以创建一个合适的异常类型的实例并抛出它
缺点
异常处理通常需要更多的时间和资源
异常处理需要初始化新的异常对象,需要从调用栈返回,而且还需要沿着方法调用链来传播异常以便能找到它的异常处理器,
一些问题
int 1/0 java.lang.ArithmeticException: / by zero
double 1/0 Infinity
java.util.InputMismatchException
当控制台输入的类型错误时,可以用nextLine()丢弃当前行.
当产生一个异常时,JVM会做什么?
0 0
- java 异常,java,异常
- Java 异常 异常链
- Java异常
- Java 异常
- JAVA 异常
- Java异常
- java 异常
- Java异常
- java异常
- Java异常
- java异常
- java异常
- java异常
- java 异常
- java异常
- java异常
- java异常
- Java异常
- 意内而言外也——《语文常谈》读书笔记(5)
- 错误:unable to execute command: Segmentation fault: 11
- 职场潜规则你能忍受到第几条?
- 自定义类的实例化对象转JSON--结合Runtime
- ActiveMQ+Spring工程创建详解(附工程文件)
- Java异常
- java并发编程实战 ThreadLocal
- DevExpress Winform控件颜色主题机制
- 折腾gcc/g++链接时.o文件及库的顺序问题
- 量化投资策略:常见的几种Python回测框架(库)
- 为什么经常跳槽的程序员工资反倒更高了,而不跳的.......
- Python cartopy 使用地图工具,给出经纬度,画出受影响的中国省份
- JS学习15(HTML5脚本编程)
- Python Tricks(八)—— 斐波那契数列的另类实现