java异常

来源:互联网 发布:怎么看数据库版本 编辑:程序博客网 时间:2024/06/16 15:28

java 异常
体系结构:
java.lang.Object
|—java.lang.Throwable
|—java.lang.Error 错误。java程序对此无能为力,不显示的处理
|—java.lang.Exception 异常。需要进行处理
|—RuntimeException 运行时异常
|—ArrayIndexOutOfBoundsException 数组下标越界异常 NullPointerException 空指针异常 ArithmeticException 算术异常 ClassCastException 类型转换异常
|—非RuntimeException 编译时异常

导致异常的可能原因:
客户输入数据化的格式
读取的文件是否存在
网络是否始终保持畅通

Java程序在执行过程中所发生的异常事件可分为两类:
Error:Java虚拟机无法解决的严重问题,如JVM系统内部错误、资源耗尽等严重情况。一般不编写针对性的代码进行处理。
Exception:其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。
如:空指针访问
试图读取不存在的文件
网络连接中断

异常的解决方法:1.终止运行
2.编写时,考虑到错误的检测,错误消息的提示,以及错误的处理。

分类:编译时异常:执行javac.exe命令时
运行时异常:执行java.exe时

编写的是.java 文件 ,通过编译(javac命令)生成字节码文件(.class)再运行(java命令)生成结果

当执行一个程序时,若出现异常,则异常之后的代码不再执行了

异常的处理 代码详见HandleException
java采用异常处理机制,将异常处理的程序代码集中在一起,与正常的程序代码分开,使得程序简介,并易于维护

Java提供的是异常处理的 抓抛模型
1.抛
2.抓:抓住上一步抛出来的异常类的对象,如何抓,即为异常处理的方式
java提供了两种方式用来处理一个异常类的对象
方式一:
try{
可能出现异常的代码
}catch(Exception1 e){
处理的方式1
}catch(Exception2 e){
处理的方式2
}
finally{
一定要执行的代码
}
注:
1.try中声明的变量相当于局部变量,出了try语句就没有作用了
2.catch语句内部是对异常对象的处理,有两种方法
getMessage()或者 printStackTrace()
3.finally是可选的,可有可无,按需选择
4.可以有多个catch语句,try中抛出的异常类对象从上往下去匹配catch中的异常类的类型,一旦满足就执行catch中的代码,执行完,就跳过后面的多条catch语句
5.如果异常处理了,后面的代码继续执行