跟进我上一个问题的这个。我尝试从@Around建议中抛出一个异常,并在被调用类和/或方法中捕获它。但是我得到了这个错误:
Stacktraces
java.lang.Exception: User not authorized
com.company.aspect.AuthorizeUserAspect.isAuthorized(AuthorizeUserAspect.java:77)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessor
有没有办法将异常的ToString()输出解析回异常对象?假设我有这个字符串:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Sandbox.Program.Main(String[] args) in C:\Development\Personal\Sandbox\Program.cs:line 12
我希望将该值传递给一个方法,并让它返回一个异常对象,然后我可以在其中提取名称、消息、堆栈跟踪等。这在.NET中是可能的吗,或者是否有其他库/项目可以做到这一点?
类下面有一个抛出检查异常的方法。
public class Sample{
public String getName() throws DaoException{
//Some code
//this method contacts some third party library and that can throw RunTimeExceptions
}
}
DaoException.java
public class DaoException Extends Exception{
//Some code
}
现在,在另一个类中,我需要调用上面的方法并处理异常。
我有一个使用SpringBoot和restful构建的服务器,它是一个简单的CRUD应用程序。
我试图检查电子邮件是否已经存在,同时添加一个新的用户。
我不知道如何通过rest发送错误消息。我试过这样做:
UserController.java
//POST method for adding one user
@PostMapping("/addUser")
public ResponseEntity<User> addUser(@RequestBody User user){
User existingUser = userR
在Java中,抛出检查的异常(或其子类型- IOException、InterruptedException等)的方法必须声明抛出语句:
public abstract int read() throws IOException;
不声明throws语句的方法不能抛出检查的异常。
public int read() { // does not compile
throw new IOException();
}
// Error: unreported exception java.io.IOException; must be caught or declared to be thr
我设计了regex以匹配异常消息字段。
^.*\s([^:,\s]+):\s+([^:]+)\sat\s+\S+\((\w+)\.\w+:(\d+)\)$
它只匹配几个字段。
测试字符串是:
ERROR java.lang.NullPointerException: Sample Java Logback Exception
at Sample.errorLevel3(Sample.java:35)
at Sample.errorLevel4(Sample.java:34)
at Sample.errorLevel5(Sample.java:30)
at Sample.errorLev