博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA异常体系
阅读量:3959 次
发布时间:2019-05-24

本文共 1443 字,大约阅读时间需要 4 分钟。

JAVA异常体系

异常就是指程序在运行时出现错误通知调用者的一种机制, 运行时:已经通过编译得到class文件了,再由JVM执行过程中出现的错误。
异常体系说明:1)顶层类Throwable派生出两个重要的子类,Error和Exception2)其中Error指的是JAVA运行时内部错误和资源耗尽错误,这种错误一出现应用程序就会终止。3)Exception是编写代码时所用的异常类的父类4)其中Exception有一个子类称为RuntimeException,这里面又派生出很多我们常见的异常类,如NullPointerException(空指针异常),IndexOutOfBoundsException(下标越界)等

在这里插入图片描述

异常处理流程

捕获异常的基本语法:

try{
有可能出现异常的语句; }catch(异常类型 异常对象){
调用栈; }finally{
异常的出口; }
说明:try代码块中放的是可能出现异常的代码           catch中放的是出现异常后的处理行为          finally代码块中的代码用于处理善后工作,会在最后执行          catch和finally都可以根据情况选择加或者不加

注意:finally中最好不要出现return语句,因为它执行的时机是在方法返回之前(try或者catch中如果有return会在这个return之前执行finally),如果finally中也存在return语句,那么就会执行finally中的return,从而不会执行到try中原有的return,例如:

public static void main(String[] args){
System.out.println(func()); } publicb static int func(){
try{
return 10; }finally{
return 20; } }

在这里插入图片描述

抛出异常

1)Throw关键字

public static void main(String[] args){
System.out.println(divide(10,0)); } public static void divide(int x,int y){
if(y==0){
throw new ArithmeticException("抛出除零异常"); } return x/y; }

2)Throws关键字

在这里插入图片描述

受查异常和非受查异常

Java语言将派生于Error类或者RuntimeException类的所有异常称为非受查异常,所有的其他的异常称为受查异常。 两者之间的差别在于使用受查异常时的合法性要在编译时刻由编译器来检查,所以比非受查异常需要更多的代码来避免编译错误。

如果一段代码可能抛出受查异常,那么必须进行显示处理。  显示处理的方法:   1)使用try caych包裹   2)在方法上加上异常说明,相当于将处理动作交给上级调用者

转载地址:http://rylzi.baihongyu.com/

你可能感兴趣的文章
Linux下安装Mysql数据库开发环境
查看>>
Linux用户及用户组添加和删除操作
查看>>
通用 Makefile 的编写方法以及多目录 makefile 写法
查看>>
C++的4种智能指针剖析使用
查看>>
RPC框架实现之容灾策略
查看>>
Docker私库
查看>>
hdu——1106排序(重定向)
查看>>
hdu——1556Color the ball(树状数组)
查看>>
hdu——1541Stars(树状数组)
查看>>
快速幂的精简代码
查看>>
求大数乘方的前n位数字(对数加快速幂)
查看>>
hdu——2602Bone Collector(第一类背包问题)
查看>>
hdu——1711Number Sequence(kmp专练)
查看>>
strstr函数和find函数的异同
查看>>
Java的反射
查看>>
HTTP请求之POST与GET区别
查看>>
SSM结合Redis
查看>>
优化数据库的八种方法
查看>>
Java Web服务收到请求时线程的情况以及session情况
查看>>
SSM配置文件信息加密实现
查看>>