黑马程序员技术交流社区

标题: 异类处理的方法 [打印本页]

作者: ZhangHeng    时间: 2015-7-9 21:58
标题: 异类处理的方法
1、 java提供了特有的语句进行处理。
        try
        {
                 需要被检测的代码。
        }
        catch(异常类  变量)
        {
                 处理异常的代码;(处理方式)
        }
        finally
        {
                 一定会执行的语句;
        }
有三个结合格式:
        a、try
             {
             }
             catch ()
             {
             }
        b、try
             {
             }
             finally
             {
             }
        c、try
             {
             }
             catch ()
             {
             }
             finally
             {
             }
注意:
        1)finally中定义的通常是关闭资源代码。因为资源必须释放。
        2)如果在一个功能中,定义了一些必须要执行的代码,可以用try{}finally{}的方式,将一定执行的代码放在finally代码块中。
        3)finally只有一种情况不会执行。当执行到System.exit(0);fianlly不会执行。

2、throw和throws的用法
        throw定义在函数内,用于抛出异常对象。
        throws定义在函数上,用于抛出异常类,可以抛出多个用逗号隔开。
        当函数内容有throw抛出异常对象,并未进行try处理。必须要在函数上声明,否则编译失败。
        注意:RuntimeException除外。也就说,函数内如果抛出的RuntimeExcpetion异常,函数上可以不用声明。

3、调用者对抛出信息的处理
        当在函数内部出现了throw抛出异常对象,那么就必须要给对应的处理动作。要么在内部try catch处理。要么在函数上声明让调用者处理。
        一般情况下,函数内出现异常,函数上需要声明。在功能上通过throws的关键字声明了该功能有可能会出现异常类型。
特殊之处:
        Exception中有一个特殊的子类异常RuntimeException 运行时异常。
                1) 如果在函数内抛出该异常,函数上可以不用声明,编译一样通过。
                2)如果在函数上声明了该异常。调用者可以不用进行处理。编译一样通过。
        之所以不用在函数上声明,是因为不需要让调用者处理。当该异常发生,希望程序停止。因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修正。
         如果函数声明了异常,调用者需要进行处理。处理方法可以throws可以try。
对捕获到的异常对象进行常见方法操作:
        String getMessage();//获取异常的信息。返回字符串。
        toString();//获取异常类名和异常信息,返回字符串。
        printStackTrace();//获取异常类名和异常信息,以及异常出现在程序中的位置.返回值void.
                                //其实JVM默认的异常处理机制,就是在调用printStackTrace方法,打印异常的堆栈的跟踪信息。
        printStackTrace(PrintStream s)//通常用该方法将异常内容保存在日志文件中,以便查阅。
作者: 形而上孤独    时间: 2015-7-9 22:13
赞赞赞!
作者: wuwei10000    时间: 2015-7-9 22:16
顶顶顶!!!!!!!!!
作者: xyxlx111    时间: 2015-7-9 22:18
形而上孤独 发表于 2015-7-9 22:13
赞赞赞!

666666666666666
作者: 刘贤俊    时间: 2015-7-9 23:45
总结的好
作者: fantianfei    时间: 2015-7-10 07:59
总结的很好。
作者: hwy801207    时间: 2015-7-10 08:00
这些东西 都是抄抄的
作者: zhangxin    时间: 2015-7-10 08:14
赞一个!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2