小编bos*_*kop的帖子

处理具有未知异常类的堆栈跟踪

我正在实现一个抛出ApplicationExceptions 的会话bean .这些异常具有链式堆栈跟踪,这些跟踪可能包含客户端上不可用的类的异常.就像是:

@Override
public void doSomethingSpecial(MyObject o) throws MyException {
    try {
        legacySystem.handle(o);
    } catch (LegacyException e) {
        logger.warn(e.getMessage(), e);
        throw new MyException(e);
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,客户端可能会获得一个没有类的异常.这可能导致:

Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
    at sun.proxy.$Proxy0.doSomethingSpecial(Unknown Source)
    at com.myapp.client.Client.main(Client.java:56)
Caused by: java.lang.ClassNotFoundException: MyLegacyException
Run Code Online (Sandbox Code Playgroud)

我不希望客户端知道可以在服务器端抛出的所有可能的异常,但是拥有堆栈跟踪永远不会坏.

你是如何处理这些问题的?Interceptor在将异常发送回客户端时,实现将堆栈跟踪解耦的可行解决方案是什么?但是那时Interceptor应该只处理通过的调用RemoteInterface,因为内部我对整个堆栈跟踪感兴趣.

java exception-handling rmi session-bean java-ee

8
推荐指数
1
解决办法
4055
查看次数

如何检查Hex-String中是否设置了位?

移...

我要做点什么,这会扭曲我的想法.

我得到一个十六进制值为String(例如:"AFFE")并且必须决定,如果设置了字节1的第5位.

public boolean isBitSet(String hexValue) {
    //enter your code here
    return "no idea".equals("no idea")
}
Run Code Online (Sandbox Code Playgroud)

任何提示?

问候,

Boskop

java hex bit-manipulation

3
推荐指数
1
解决办法
2587
查看次数

在Interceptor中抛出ConstraintViolationException

我在JEE应用程序中有一些SessionBeans,并且喜欢使用BeanValidation来验证我的参数.因此整个验证过程是通用的,并封装在一个地方.

我看到的唯一缺点是客户端得到EJBException并且必须打开主要的Exception.还有一些我看不到的问题或脏东西,甚至是更好的方法吗?

java java-ee interceptor bean-validation

3
推荐指数
1
解决办法
530
查看次数