java反射调用带异常的方法_Java反射调用方法时捕获异常

问题描述

反射调用方法时,方法内部抛出了自定义异常,但是无法在反射调用的时候捕获到抛出的自定义异常。

代码如下:

// 自定义异常

public class MyException extends Exception {

private static final long serialVersionUID = -7998753885990231365L;

private String code;

public MyException(String code, String message) {

super(message);

this.code = code;

}

public String getCode() {

return code;

}

public void setCode(String code) {

this.code = code;

}

}

// 反射调用的方法

public class MethodThrowMyException {

public String throwMyException() throws MyException {

throw new MyException("1", "自定义异常");

}

}

// 捕获异常

public class Invocation {

public static void main(String[] args) {

try {

Class> c = Class.forName("myexception.MethodThrowMyException");

Object o = c.newInstance();

Method m = c.getMethod("throwMyException");

m.invoke(o);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (NoSuchMethodEx

你可能感兴趣的:(java反射调用带异常的方法)