我正在使用jcodemodel动态生成Java类。以下是创建开关语句的代码,其默认情况将是抛出异常。
JSwitch valueswitch;
AbstractJClass exception = ref(IllegalArgumentException.class);
valueswitch._default()
.body()
._throw(JExpr._new(exception));
生成的类看起来像
public static Example switchCode(String code) {
switch (code) {
case "1":
{
return A;
}
default:
{
throw new IllegalArgumentException();
}
}
}
现在,我想向
的异常添加一条消息throw new IllegalArgumentException("Invalid code "+ code);
如何在JcodeModel中实现此目标。任何帮助将不胜感激。
您只需要将语句添加到异常构造函数:
valueswitch._default()
.body()
._throw(JExpr._new(exception)
.arg(
JOp.plus(JExpr.lit("Invalid code "), codeParam)
));