如果我的类已经扩展了一些其他类,如果我想将我的类的一个实例作为异常对象抛出,我应该怎么做?
我发现的唯一方法是某些父类(super class)必须扩展 Exception 类。还有别的办法吗? 编辑:这是否也表明设计缺陷,如果是,请解释如何 在您的类中使用自定义异常的正确方法是什么,是通过在您的类中添加自定义异常的引用还是在需要时调用“new”,您能给出代码大纲吗?
最佳答案
您必须将其包装在另一个类中。在java中你只能抛出Throwable的子类型,Throwable是一个类。
例子:
public class Wrapper extends Exception {
public final MyClass wrapped;
public Wrapper(MyClass toWrap) { wrapped = toWrap; }
}
如果这是 trampoline 的应用程序技术或类似的控制流技术,则有一些方法可以不获取堆栈跟踪(减少创建对象所需的时间)。如果需要我可以查一下。
关于java - 扩展另一个类的类,如何将其作为异常类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12696294/