首页  >  编程教程  >  编程问答  >  如果Throwable是一个接口,那么异常处理会不会更容易?

如果Throwable是一个接口,那么异常处理会不会更容易?

我们都知道,Throwable里面存储的是Java语言中的所有错误异常,而这些错误或异常指的是字符串,只不过把这些字符串表示为一个对象


那么既然是对象,也就意味着它们里面没有实现任何功能的方法,如果我们查看源码,就会发现Throwable类中的子类的解决异常处理方法都是构造方法,一个是无参构造,另外一个就是带字符串参数,也就是带对象的带参构造


既然有了构造方法,那就可以直接从父类中提取所需要的异常处理信息,从而来构造一个方法,这样可以省略子类很多代码,注意普通类继承的话是直接继承,不能够改变,如果改变的话就会影响到父类。


根据这个特点也可以很清楚的说明Throwable为什么是普通类,因为它压根就不需要子类重写方法,只需要提取信息便可。如果将Throwable定义为接口或者是抽象类的话,还要创建子类将Throwable实例化,并且要继承父类Throwable的所有方法,如果是接口,当需要使用异常处理方法的时候,还要将所需要的异常处理信息填进去,改写接口,这样只会导致代码量增多,会让异常处理更加麻烦。


所以,如果Throwable是一个接口,异常处理并不会更容易。



本文固定URL:https://www.dotcpp.com/qa/53

编程杂谈
编程基础
知识答疑