gpt4 book ai didi

java - 如何在运行时从 Jasper Report 中抛出异常(使用 iReport for IDE)- XML 数据源上的数据验证

转载 作者:行者123 更新时间:2023-12-02 05:05:27 26 4
gpt4 key购买 nike

对于基于XML 数据源的报告....

如果传入了错误的数据,最好使报告失败并显示一条信息性消息,例如 variableXYZ is 0 而不是在处出现被零除的错误运行。

或者,必须指定 variableXYZ 而不是 NPE 或默认值。在某些情况下,没有不会产生误导的良好默认值。

有没有办法验证来自 XML 数据源的数据并抛出异常或以某种方式通知用户传入的数据无效?

我尝试了 else 部分的三元运算符,例如:

throw new RuntimeException("VariableXYZ is invalid: 0")

但它会在计算表达式时死掉。

263: unexpected token: throw @ line 263, column 49.

最后,我想在不编写脚本的情况下执行此操作,就像普通 iReport 的一部分一样。这可能吗?是否有其他好的方法来验证数据以生成正确的错误消息?

最佳答案

我不相信这是可能的。

JasperReports 环境中使用的表达式实际上是“Java 表达式”(至少当您使用 Java 作为报告语言时)。根据The Java Tutorials :

An expression is a construct made up of variables, operators, and method invocations, which are constructed according to the syntax of the language, that evaluates to a single value.

所以基本上,您不能将 throw 结构计算为一个值。你不能写 myVar = throw RuntimeException("...");

但同时您可以在表达式中调用方法,因此也许您可以在类路径中添加一个抛出错误的方法,例如。

关于java - 如何在运行时从 Jasper Report 中抛出异常(使用 iReport for IDE)- XML 数据源上的数据验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12217556/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com