- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
javax.interceptor.InitationContext 的proceed() 方法是否抛出除目标方法或干预代码之外的任何异常?调用目标异常怎么样?一般来说,文档在这一点上似乎不完整。
[编辑]我问:InvocableTargetException 是什么“通常”是由 InspirationContext 的实现者抛出的?或者通常会重新抛出原始异常?或者是其他东西?
当然,“抛出”声明允许所有异常,但我想知道“契约”是什么?一个自然的契约是保持调用的目标方法的异常不变。当然,这不能用 Java 类型系统来表达。而且它没有记录或任何东西。因此,原则上,任何异常都可能被抛出。原则上可以以任何方式包装目标方法的异常;不仅仅是 InvocableTargetException。
这肯定会产生架构后果。如果 InvokingContext 的实现没有“契约”,异常系统将变得几乎毫无用处;本质上,我们所能知道的就是出现了一个异常(exception)。所以我问这样一个“契约(Contract)”,即实现的预期行为:有吗?
最佳答案
在运行时,编译器无法通过反射分析方法调用,因此会将它们包装到名为 InitationTargetException
的异常中。
An InvocationTargetException is thrown when a constructor called through Constructor.newInstance(), or a method called through Method.invoke() throws an exception. The InvocationTargetException encapsulates the thrown exception, which can be retrieved using getTargetException().
您必须解开此异常才能找到原始的根本原因。
如文档所述,InvocationContext.proceed()
抛出 java.lang.Exception
。它进一步调用调用行中的其他拦截器。
我没有遇到任何问题,但在使用嵌套拦截器时可能会出现问题,并且其中一个拦截器抛出异常,可能会导致级联异常链。
关于java - IncationContext.proceed() 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9889581/
我需要从父级发送到嵌套方法参数 我定义了一个 EJB 拦截器并在业务方法级别使用它我需要在嵌套方法中了解应从父调用程序方法(非业务数据)发送的一些信息,这些信息将在 aduit 中使用所以,我的问题是
javax.interceptor.InitationContext 的proceed() 方法是否抛出除目标方法或干预代码之外的任何异常?调用目标异常怎么样?一般来说,文档在这一点上似乎不完整。 [
我是一名优秀的程序员,十分优秀!