A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 庞金梁 黑马帝   /  2011-10-10 17:08  /  1880 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

创建一个自定义异常类设计的时候应该注意什么以及自定义异常的应用

3 个回复

正序浏览
1. 自定义异常时,你可以选择继承编译异常的Exception,或运行时异常的RuntimeException。

2. 如果是Exception类的,那就必须要throw,try/catch下,或throw,throws一起使用,把异常抛出去。
也就说明这类异常时可处理的,毕竟发生在编译时期。

3. 如果是Runtime类型的,不用往外抛。但是这类异常通常是你处理不了的。

4. 使用情况:假设进入游戏算运行,开启客户端算编译
一. 一个游戏启动客户端时检测下你是否用外挂,如果检测到了,客户端是可以处理这种情况的。比如告诉你,你在用外挂,封此IP50年,你游戏进不去了。
二. 如果没检测到,你进去游戏了,然后你又把外挂开开了,这就是运行时异常了,这时抛出异常问:你是怎么进来的?天朝科技又升级了?!然后自动关了游戏。像这些异常的抛出和处理,都是JAVA没有的,肯定要自定义了。

评分

参与人数 1技术分 +1 黑马币 +1 收起 理由
admin + 1 + 1

查看全部评分

回复 使用道具 举报
java都能对异常或者错误进行封装,那我们自己也可以封装异常来处理特有问题。
这时候就需要自定义异常。
一般自定义类都会继承Exception或者RuntimeException。当要定义自定义异常信息时,可以使用父类已经定义好的功能。
将异常信息传递给父类的构造函数。
异常体系有个特点,异常类和异常对象会抛出,
他们都具备可抛性,这个可抛性是Throwable这个体系中独有的特点
回复 使用道具 举报
实现自定义异常类的方法如下:
    1、类java.lang.Throwable是所有异常类的基类,它包括两个子类:Exception和Error,Exception类用于描述程序能够捕获的异常,如ClassNotFoundException。Error类用于指示合理的应用程序不应该试图捕获的严重问题,如虚拟机错误VirtualMachineError
    2、自定义异常类可以继承Throwable类或者Exception,而不要继承Error类。自定义异常类之间也可以有继承关系
    3、需要为自定义异常类设计构造方法,以方便构造自定义异常对象。

评分

参与人数 1技术分 +1 黑马币 +1 收起 理由
admin + 1 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马