`

黑马程序员--java基础复习--异常

 
阅读更多

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ---------------------

异常的定义:

  阻止当前方法或作用于继续执行的问题,说白了就是运行时出现的可能会导致程序中断的问题,之所以说可能,是因为有一种异常(RuntimeException)出现之后程序不会中断,会继续执行下去,这就相当于在程序执行的时候遇到问题了,需要给程序员一个信息,但这个信息又不同于程序中其他的正常内容,所以用异常来表示。

异常体系

Throwable类是java语言中所有错误或异常的超类。它的下一级有两个子类Error和Exception:

Error:不能被捕获的严重错误,比如内存泄露、找不到执行文件、java虚拟机资源告罄等,这些异常虚拟机会直接处理了。

Exception:程序内部可以被捕获的异常,这个又分为两种UncheckeException和CheckedException:

UncheckedException又叫做RuntimeException,不需要捕获,常见的有IllegalArgumentException、IllegalStateException、NullPointException、IndexOutOfBoundsException等

CheckedException异常需要捕获进行处理,这种异常就多了去了,IOException、SQLException、SocketException等等

异常的使用

  • 1.java提供了额特有的语句进行处理异常,
  • 2.格式:
  • try
  • {
    • //需要被检测的代码;
  • }
  • catch(异常类 变量)//这个变量是一个异常对象引用
  • {
    • //处理异常的代码;(处理方式)
  • }
  • finally //finally语句一般用来清理系统资源,里边多放的是释放资源的语句
  • {
    • //一定会执行的语句;
  • }
  • 3.对捕获到的异常对象进行常见方法操作。
    • String getMessage();获取异常的信息。
      • e.getMassage(); //    异常信息。
      • e.toString();//     异常名称+异常信息。
      • e.printStackTrace();  //异常名称,异常信息,异常出现的位置。这个是默认的JVM处理机制,打印异常在堆栈中的异常信息。
  • 4.异常声明throws。
    • in div(int a , int b) throws Exception//在功能上通过throws的关键字声明了该功能可能会出现问题。
    • throws出现的问题:
      • 因为div声明抛出异常,意味着div可能有问题,所以调用div时必须捕捉或者声明抛出异常。
      • throws只能在方法后面,而且有throws的方法内部不一定会抛出异常

异常使用时要注意的问题

1、在处理异常时,不要什么异常都用Exception来捕获,这样不论出现什么异常都用同一种方式处理,这明显不符合我们的意愿。

2、当捕获的不同异常之间存在继承关系时,一定要先捕获子类,再捕获父类,因为如果先捕获父类的话,捕获子类的那段代码就没用了,出现子类异常都给父类拿去玩了。

3、分析那些地方会出现异常,然后进行try。。。catch,因为代码越简洁越舒服。加个异常,原先代码100行立马就编程了几百行了。

 

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

0
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics