我正在使用JCodemodel动态生成java类。下面是创建switch语句的代码,其默认情况是抛出异常。
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中实现这一目标。任何帮助将不胜感激。
答案 0 :(得分:1)
您只需将语句添加到异常构造函数中:
valueswitch._default()
.body()
._throw(JExpr._new(exception)
.arg(
JOp.plus(JExpr.lit("Invalid code "), codeParam)
));