为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不用继承throwable类???

Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出

正在回答

1 回答

嗯本来码了挺长一段把自己都绕昏了,但是后来仔细看了看你这句话以后,我发现几个关键点

1-“只有当对象是throwable类的实例时”

2-“才能抛出”

那么就很简单了:)

首先,我们讨论的是被抛出的那个东西必须是throwable类,在你的问题里实际上也就try-catch语句里的try中抛出的玩意儿

(因为他们就是异常)

其次,catch里至少都会有个 catch(Exception e),也就是说被丢给catch的这个东西是属于Exeception类的

而我刚刚也查过了,exception是throwable类的直子类


而目前的例子里没有继承throwable类是因为并不是方法自己丢出了异常,而是设定一个try语句去监视某个代码段并用try语句去把一个异常丢给catch;其区别差不多就是前者是你自己写了个方法让它去试试屎里是否有毒,而后者则是你让java帮你监视方法里的某个代码段并让它一旦发现屎里有毒就去对照是否是属于exception1/2/3进行处理

这里的关键字是丢出:如果你希望自己的方法将屎哦不,将异常丢出去,那么肯定就是要继承这个throwable的

而至于try-catch嘛……大概就像你一用try的时候就默认这个try会试着帮你找毒并把异常自动丢给catch,抛出这个功能它已经自带了,你只用静坐片刻就能干了那碗热翔了(* ̄︶ ̄)y 


另外P.S.我也是学员,也许专业人士看了我的回答会觉得相当扯淡,所以我的话还是最好只信一半:P




0 回复 有任何疑惑可以回复我~
#1

游濑

不对,也许抛出也不用继承throwable……你只要确定系统知道你会抛,并且你抛出的东西是一个exception(也许他可能会是你自定义的,那么自定义的时候也许就会用到extends Exception或者extedns Throwable了。) 关键还是那个抛出:抛出去的东西是那个类或者那个类的子类就好
2015-01-31 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么不用继承throwable类???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信