异常java
Java运行过程当中发生的异常能够分为两类:程序员
1.错误(Error):JVM系统内部错误,资源耗费等严重状况数据库
2.异常(Exception):其余因编程错误或偶然的外在因素致使的通常性问题编程
- 能够对下列情形在方法定义中抛出异常
(1) 方法中调用了一个会抛出“已检查异常”的方法数组
(2) 程序运行过程当中发生了错误,而且用throw子句抛出一个”已检查异常”安全
a.对负数开平方根网络
b.空指针访问指针
c.试图读取不存在文件orm
d.网络链接中断对象
e.分母为0
PS:不要抛出:从Error派生的那些异常
JAVA异常处理机制
- JAVA程序的执行过程当中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给JAVA运行时系统,这个过程称为抛出(throw)异常----主动
- 当JAVA运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常----被动
- 若是JAVA运行时系统找不到能够捕获异常的方法,则运行时系统将终止,相应的JAVA程序也将退出
- 程序员一般只能处理Exception,而对错误Error无能为力
常见异常:
- RuntimeException
- ArithmeticException:数学计算异常
- NullPointerException:空指针异常
- NegativeArraySizeException:负数组长度异常
- ArrayIndexOutOfBoundsException:数组索引越界异常
- ClassNotFoundException:类文件未找到异常
- ClassCastException:造型异常
- IOException
- FileNotFoundException:文件未找到异常
- EOFException:读写文件尾异常
- MalformedURLException:URL格式错误异常
- SocketException:Socket异常(套接字)
- 算数异常类:ArithmeticException
- 空指针异常类:NullpointerException
- 类型强制转换异常:ClassCastException
- 数组负下标异常:NegativeArrayException
- 数组下标越界异常:ArrayIndexOutOfBoundsException
- 违背安全原则异常:Secturity Exception
- 文件已结束异常:EOFException
- 文件未找到异常:FileNotFoundException
- 字符串转换为数字异常:NumberFormatException
- 操做数据库异常:SQLException
- 输入输出异常:IOException
- 方法未找到异常:NotSuchMethodException
- 抽象方法错误异常java.lang.AbstractMethodError
- 断言错误异常java.lang.AssertionError
- 类循环依赖错误异常java.lang.ClassCircularityError
- PS:当一个异常没有在当前的try-catch中处理的话将会抛给调用它的方法(throws)
- PS:当一个异常一直没有可以被处理最后又回到主方法的时候,程序将会中止运行
-
若是程序须要catch块中访问异常对象的相关信息,能够经过调用catch后异常形参的方法来得到。当JAVA运行时决定调用某个catch块来处理异常对象时,会将该异常对象赋给该catch块后的异常参数,程序就能够经过该参数得到异常的相关信息啦
getMessage():返回该异常的详细描述字符串
printStackTrace():将 该异常的错误栈信息输出屏幕上
printStackTrace(PrintStream s):将该异常的跟踪栈信息输出到指定的输出流
getStackReace():返回该异常的跟踪栈信息