java写一个方法,使其可以判断一个方法是否报错,若报错则返回报错原因,反之则返回方法执行的返回值
时间: 2023-05-23 11:02:10 浏览: 53
可以使用 try-catch 块来判断方法是否报错,若出现异常则返回异常信息,否则返回方法的返回值。以下是示例代码:
```java
public static String executeMethod(Method method, Object... args) {
try {
Object result = method.invoke(null, args); // 调用静态方法
return result.toString(); // 返回方法返回值的字符串表示
} catch (Exception e) {
return e.getMessage(); // 返回异常信息
}
}
```
其中,method 参数为要执行的方法对象,args 参数为方法的参数值(可变参数),null 是静态方法的调用对象,如果是实例方法则传入实例对象即可。调用该方法可以判断一个方法是否执行出错,如下所示:
```java
Method method = MyClass.class.getMethod("myMethod", int.class);
String result = executeMethod(method, 123);
if (result.startsWith("java.lang.Exception:")) {
System.out.println("执行出错:" + result);
} else {
System.out.println("执行成功,返回值为:" + result);
}
```
其中,MyClass 是要执行的类名,myMethod 是要执行的方法名,int.class 是方法的参数类型。