[英]java - Exception not getting caught
我正在使用Spring ROO。 在我的Web应用程序中,我可以创建许多用户并保存。 我也可以更新现有用户。
对于更新方案,我们使用merge()方法来更新现有数据。 在数据库中,“用户名”列是唯一的。 以下是该方案。
用户使用手机号码“6039274849”创建用户名“Sean”
用户创建另一个名为“Parker”的用户,手机号码为“8094563454”
在堆栈跟踪中,我可以看到以下异常是原因
我尝试了以下操作
public String merge()
{
try{
//code to merge
}
catch(????? e){
throw e;
}
}
我试图在'????'中添加上述5个例外 。 但我无法抓住。
任何人都可以告诉我需要添加哪个例外'????' 从上面的列表中捕获异常?
PS:我正在使用Spring ROO。 所以我在更改.aj文件中的代码。 请不要将此问题视为重复。 在结束这个问题之前,我期待任何人回答我的问题。
作为最后的手段,您可以捕获通用exception
public String merge()
{
try{
//code to merge
}
catch(Exception e){
//handle e here.
}
}
嗯,你不是只是在你的捕获中重新抛出异常吗? 它应该是跟踪中的“最新”异常,因此ConstraintValidationException
。
请注意,通常在Spring / Hibernate应用程序中,冒出代码的异常是导致事务回滚的原因。 如果您发现异常,您可能会阻止这种情况,这可能会导致数据不一致。
如果有疑问,我会尝试捕捉一个Throwable并添加断点或注销它以确切地看到它是什么。 然后累积更改代码。
我最近有同样的问题。 它似乎是自己的异常类中的spring换行异常。
我解决了这个问题:
try {
...
}
catch(Exception e){
System.out.println(e.getClass().getName());
}
有了它,你会发现什么异常被抛出;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.