异常
什么是异常:
指程序在运行过程中,出现的非正常的情况,最终会导致java虚拟机(jvm)的非正常停止。
程序员编程出现的错误, 数组越界, 逻辑等问题, 程序员一定需要解决
用户不正当操作, 程序员有相关的处理方式
常见的异常类:
异常处理try-catch-finally:
结构:
try{ //可能出现异常代码 }catch(异常类型 | 异常类型2 异常对象){ • //处理异常 }catch( 异常类型3 异常对象){ • //处理异常 } finally{ • //一定要执行的语句 }
执行流程:
1.没有产生异常: 正常执行: 把try中的代码全部执行完,catch的代码不会执行
2.产生异常, 这个异常能被catch捕获:
3.产生异常,但是catch无法捕获, 产生异常对象类型与catch捕获异常类型不匹配
注意事项:
1.try,catch,finally
都不能单独使用,只能存在的组合为:try-catch,try-finally, try-catch-finally
2.写多个
catch
时,如果异常类型存在父子关系,则需先写子类再写父类
catch(子类){ }
catch(父类{
}
如果异常类型没有父子关系,则顺序随意
3.如果代码块中有
return
也有finally
则它们的执行顺序为:return返回值---->finally语句---- >return结束方法
try{ return 值; } ..... finally{ //语句 }