JAVA学习笔记(2)——错误和异常

一、异常的基本概念
a.又称为例外,是特殊的运行错误对象
b.是面向对象规范的一部分,是异常类的对象
c.Java中声明了很多异常类,每个异常类都代表了一种运行错误,类中包含了
该运行错误的信息
处理错误的方法
d.每当Java程序运行过程中发生一个可识别的运行错误时,即该错误有一个异常类与之相对应时,系统都会产生一个相应的该异常类的对象,即产生一个异常


二、java处理错误的方法:
1.抛出(throw)异常
在方法的运行过程中,如果发生了异常,则该方法生成一个代表该异常的对象并把它交给运行时系统,运行时系统便寻找相应的代码来处理这一异常
2.捕获(catch)异常
运行时系统在方法的调用栈中查找,从生成异常的方法开始进行回溯,直到找到包含相应异常处理的方法为止


三、错误
程序运行过程中发生的异常事件
根据错误的严重程度不同,可分为两类
1.错误
致命性的,用户程序无法处理
Error类是所有错误类的父类
2.异常
非致命性的,可编制程序捕获和处理
Exception类是所有异常类的父类


再对异常进行分类
1.非检查型异常
不能期望程序捕获的异常(例如数组越界,除零等)
继承自RuntimeException
在方法中不需要声明,编译器也不进行检查
2.检查型异常
其他类型的异常
如果被调用的方法抛出一个类型为E的检查型异常,那么调用者必须捕获E或者也声明抛出E(或者E的一个父类),对此编译器要进行检查


四、Java预定义的一些常见异常
1.非检查型异常
ArithmeticException
整数除法中除数为0
NullPointerException 
访问的对象还没有实例化
NegativeArraySizeException 
创建数组时元素个数是负数
ArrayIndexOutOfBoundsException
访问数组元素时,数组下标越界
ArrayStoreException
程序试图向数组中存取错误类型的数据
2.检查型异常
FileNotFoundException
试图存取一个并不存在的文件
IOException
通常的I/O错误


五、异常的处理
对于检查型异常,Java强迫程序必须进行处理。处理方法有两种:
1.声明抛出异常
不在当前方法内处理异常,而是把异常抛出到调用方法中
2.捕获异常
使用try{}catch(){}块,捕获到所发生的异常,并进行相应的处理

六、生成异常对象
三种方式
由Java虚拟机生成
由Java类库中的某些类生成
在程序中生成自己的异常对象,也即是异常可以不是出错产生,而是人为地抛出
生成异常对象都是通过throw语句实现,生成的异常对象必须是Throwable或其子类的实例
throw new ThrowableObject();
ArithmeticException  e = new ArithmeticException();
throw e;


七、声明自己的异常类
除使用系统预定义的异常类外,用户还可声明自己的异常类 
自定义的所有异常类都必须是Exception的子类
一般的声明方法如下
public class MyExceptionName extends SuperclassOfMyException { 
          public MyExceptionName() { 
                super("Some string explaining the exception"); 
          } 
     } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值