黑马程序员技术交流社区

标题: thows该怎么使用? [打印本页]

作者: GiveUp    时间: 2015-6-27 00:33
标题: thows该怎么使用?
有没有谁有比较齐全的zongjie?
作者: jlnu_wl    时间: 2015-6-27 08:41
异常总结:
是什么:是对问题的描述,将问题进行封装。
异常体系:Throwable
             |--Error
                |--RuntimeException
异常体系的特点:异常体系中的所有类以及建立的所有对象都具备可抛性。
                                        也就是说可以被throw和throws关键字所处理。
                                        只有异常体系具备这一特点。
Throw和throws的用法:
Throw定义在函数内,用于抛出异常对象
Throws定义在函数上,用于抛出多个用逗号隔开。
当函数内容有throw抛出异常对象,并未用try处理,必须要在函数上声明,否则编译失败
注意,RuntimeException除外,也就是说,函数内如果抛出RuntimeException 异常函数上可以不用声明。
如果函数声明了异常,调用者需要进行处理,处理方式可throws可以try。
异常有两种:1.编译时被检测异常:该异常在编译时如果没有处理(没有throw也没有try),编译失败。该异常被标识,代表可以被处理
2.运行时异常(编译时不检测)在编译时,不需要处理,编译器不检测
该异常的发生,建议不处理,让程序停止,需要对代码进行修正。
异常的处理原则:
           1.处理方式有两种:try或者throws
                           2.调用到抛出异常的功能时,抛出几个,就处理几个。一个try对应多个catch
                           3.多个catch,父类的catch放到最下面
                           4.catch内,需要定义针对性的处理方式,不要简单的对应printStackTrace,输出语句,也不要不写。
           当捕获到的异常,本功能处理不了时,可以继续在catch中抛出。
try
{
                                                throw new AException();
}
catch (AException e)
{
                                                throw e;
}


异常的注意事项:
   在子父类覆盖时:
(1)子类抛出的异常必须是父类异常的子类或者子集。
(2)如果父类或者接口没有异常抛出是,子类覆盖出现异常,只能try不能抛。

Throws和throw的区别
Throws使用还函数上;throw使用在函数内
Throws后面跟的异常类,可以跟多个,用逗号隔开。Throw后跟的是异常对象。
这些事我自己的理解,不知道你能理解吗?

作者: GiveUp    时间: 2015-6-27 21:34
抛出IllegalArgumentException异常。。。。这句话写在Try。catch中,该怎么写啊?
作者: Happe_Sun    时间: 2015-6-27 23:17
学习学习




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