根据异常 class 名称抛出异常

Throw Exception based on Exception class name

我正在 Java 中实现一个面向对象的中间件。调用远程调用时,我将收到一个响应字符串,其中包含值描述或异常描述(异常 class 名称和消息)。我现在如何在我的客户端存根代码中抛出相应的异常,只知道 class 名称(和消息)?

好的,多亏了反射提示,我明白了。结果如下所示:

RuntimeException ex = (RuntimeException) Class.forName(exceptionName).getConstructor(String.class).newInstance(exceptionMessage);
throw ex;

exceptionName 需要是异常的完全限定 class 名称。