0

在使用断言时,例如


try{ 
 assert email!=null : "Email is required"
} catch (AssertionError ae) {
 System.out.println(ae.getMessage());
}

以上打印电子邮件是必需的。表达式:email!=null

我不想要这个额外的消息Expression: email!=null我知道我可以子字符串但那是一个黑客。

4

2 回答 2

3

你在这里误用assert了。它不是用于控制程序的流程。你应该在if这里使用。

assert仅当您确定该情况不会发生时才应使用。在这种情况下,应用程序应该崩溃并打印出了什么问题。请注意,当您的应用程序启动时,断言可能会关闭。

于 2012-05-07T06:22:39.580 回答
0

没有简单的方法。请记住,这assert通常是在正确的程序操作期间绝不应该发生的事情。因此,相关消息仅用于调试。

官方文档

请注意,详细消息不是用户级别的错误消息,因此通常没有必要将这些消息孤立地理解,或者将它们国际化。详细消息旨在与包含失败断言的源代码一起在完整堆栈跟踪的上下文中进行解释。

于 2012-05-07T06:24:44.997 回答