异常处理

一、异常的概念 1、java中的异常是java提供的一种用于处理程序中出现的错误的一种机制 2、错误是指程序运行中的一些异常事件,如除0溢出,数组越界,读取的程序不存在等情况 3、java执行时出现异常,可以生成一个异常对象,该异常对象封装了异常信息的概念,并将其提交给java运行时系统,这个过程成为抛出 4、java运行时接触到异常对象时,会寻找能处理此异常的代码,并把异常交给其处理,这一过程称为捕获。  try {} catch() {} 5、用于出错时的友好提示,由的catch,没有的使用默认 6、printStackTrace()用于答应堆栈信息,jdk中可能异常已经写出 public void someMethod() throws someException {  if(someCondiction()) {   throw new exception;  } } try {someMethod} //尝试捕捉异常 catch(someException e) {}//定义处理异常的代码

二、异常分类 1、throwable接口,分为error和exception 其中error为系统内部错误(虚拟机错误) exception为异常,可处理的错误,其中又用RunTimeException运行时错误,可以catch也可以不catch 2、另一种为必须处理的异常,定义中如果有throws,则必须处理此异常 3、打印出堆栈,所有出现异常的递归。 4、不是runtimeexception都要抓。

三、finally语句 1、try代码可能会出现例外情况 2、try代码段后必须加一个或多个catch 3、每一个catch代码声明其能处理的一种特定类型的exception,并提供处理的方法 4、异常发生时,根据获取异常的类型去执行相应的catch代码 5、finally代码无论是否发生异常都要执行

try {...}  指定一段代码,该代码是一次捕获,并处理异常的范围  执行中,可能出现的是一种或几种异常,则必须分辨使用catch语句进行处理  如果没有异常,所有catch都将被跳过  catch中声明的异常类,封装了异常事件中发生的信息。catch语句块中可以使用这个对象的一些方法以获取信息  Exception.getMessage()获得异常事件信息。  Exception.printStackTrace()跟踪异常时间发生时执行堆栈的内容

finally 1、为异常处理提供了一个统一的出口,是控制流程转到程序的其他部分前,能够对程序状态作出统一的处理 2、无论try语句中是否异常是否出现,finally中的语句都会被执行 3、finally可以用于为资源做清理工作,如关闭已经打开的文件

四、声明方法抛出的异常  jaava的异常处理机制,使例外事件沿着被抛出的顺序向前寻找,只要找到符合该类例外处理程序,某个地方无法处理的异常可以向外抛出由最后调用的方法去处理,抓到异常要处理,不然可能出现意外的情况  main方法也可以抛出异常,此时异常被交给java运行时系统,但只应用于调试中  能处理的异常一定要处理

五、异常的其他问题  1、打印堆栈信息  2、一个类中已抓了父类的异常,则子类中的同种异常不再捕获  3、先抓小再抓大

六、自定义异常  步骤 1、通过继承java.lang.Exception声明自己的异常 2、在方法适当位置生产自定义异常语句,并用throw抛出 3、在方法声明部分用throws语句声明方法可能抛出的异常。 class MyException extends Exception {  construction() {   ...   if(someCondition) {    throw exception   }  } } 重写方法需要抛出与原方法类型意义的异常或者不抛出异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值