Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中创建新的调用异常?_Java_Exception - Fatal编程技术网

如何在Java中创建新的调用异常?

如何在Java中创建新的调用异常?,java,exception,Java,Exception,如何在Java中创建新的调用异常 InvocationException在其构造函数中需要一个ObjectReference,我不知道如何创建一个。你是说InvocationTargetException吗 从API中:是一个选中的异常,它封装了被调用的方法或构造函数引发的异常。 不确定您试图实现什么,可能会共享一些代码并描述您的意图,但是如果您想扩展此异常,那么: package .....; import java.lang.reflect.InvocationTargetExceptio

如何在Java中创建新的调用异常


InvocationException在其构造函数中需要一个
ObjectReference,我不知道如何创建一个。

你是说InvocationTargetException吗

从API中:是一个选中的异常,它封装了被调用的方法或构造函数引发的异常。

不确定您试图实现什么,可能会共享一些代码并描述您的意图,但是如果您想扩展此异常,那么:

package .....;

import java.lang.reflect.InvocationTargetException;

public class SampleException extends InvocationTargetException {
    protected SampleException() {
        super();
    }

    public SampleException(Throwable target) {
        super(target);
    }

    public SampleException(Throwable target, String s) {
        super(target, s);
    }

    @Override
    public Throwable getTargetException() {
        return super.getTargetException();
    }

    @Override
    public Throwable getCause() {
        return super.getCause();
    }
}
也许您想用特定于您的需求的东西覆盖getTargetException,以捕获InvocationTargetException并用您的特定异常重试

try{
  .....
}catch(InvocationTargetException e){
  //Do something with e?
  throw new SampleException(); //Rethrow?
}

正如我所说,没有提供太多信息。

您检查过它的api吗?为什么?您是否正在编写反射代码,而该代码尚未抛出应该抛出的
InvocationTargetException