码迷,mamicode.com
首页 > 编程语言 > 详细

Java中异常的基本应用(一)

时间:2016-03-05 22:01:11      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:

  在Java中,我们把异常当做一种对象来处理,正是异常机制的引入,使得我们的程序更加健壮。异常指示了一个不正常的条件,或者一个错误条件,简单地说就是一个中断了正常的指令流的事件。程序控制将无条件的抛至一个特定的代码段,在此将捕获异常并加以处理,由此将错误处理与程序的正常处理分离开来,错误就可以被单独处理了。

  异常由Exception类及其子类的实例表示,大多数包都定义了自己的异常类型,它们往往是Exception的子类,我们也可以自己定义异常的类型。当错误条件出现时,应有一段代码用来创建异常对象。Exception对象要作为一个参数传递给负责处理的代码块,这就涉及到异常的抛出和捕获。

技术分享

  如图所示,可抛出的除了异常还有错误类。Error类通常指示一些重大的错误或者虚拟机错误,不应由程序捕获。至于异常则分为两类,分别是运行时异常和编译时异常,或者可以叫做unchecked异常和checked异常。我们通常会遇到的IO异常和SQL异常都属于checked异常,对于这种异常,编译器要求我们必须对其进行处理。而runtime exception则可以不作处理,由虚拟机来接管。

  出现异常时,要么直接处理,要么向上抛出,等待上层调用方法进行处理。如果始终没有得到处理,那么如果是多线程就由Thread.run()抛出,如果是单线程就由main()抛出,之后相应的线程或整个程序退出。Runtime Exception和Error都可以不做处理,因此程序在遇到此类错误时,如果没有处理块程序就会终止退出。

  异常的处理方式:

  1、try-catch-finally结构处理异常

try{
    //正常代码,包含可能出错的代码
    //如果有return,先走finally再回来return
}catch(异常类型 Exception e){
    //异常处理    
}finally{
  //finally块,无论程序是否出现异常都会运行
  //异常的出口
}

  2、暂不处理,向上抛出

  throw用于手动抛出异常(系统无法识别的异常),throws进行声明,用于说明方法有可能发成的错误类型,调用该方法时进行try-catch处理。如果不声明,就需要在方法内进行try-catch处理。

public void setAge(int age) throws Exception{
    if(age>=15&&age<=40){
        this.age=age;
    }else{
        throw new Exception("年龄必须在15到40之间!");
    }

  该例在调用setAge方法时,进行try-catch处理,或者继续向上抛出。

Java中异常的基本应用(一)

标签:

原文地址:http://www.cnblogs.com/An1994/p/5245745.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!