Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过mbean操作引发异常_Java_Exception_Jmx - Fatal编程技术网

Java 通过mbean操作引发异常

Java 通过mbean操作引发异常,java,exception,jmx,Java,Exception,Jmx,MBean操作的正确异常处理策略是什么?其中一些操作可能会失败(例如,删除未连接的用户),应该报告异常,但我不知道我的异常如何渗透到JMX层。我最好的想法是C风格的返回码。这就是的意图,它被声明为从中抛出。引用JavaDoc: 表示由中的MBean方法引发的“用户定义”异常 代理人它“包装”了实际抛出的“用户定义”异常 因此,与其返回神秘的整数代码(或BigDecimal,如果越大越好;),不如捕获“业务异常”,使用业务异常创建一个新的MBeanException并抛出它。如果您的业务异常是可序

MBean操作的正确异常处理策略是什么?其中一些操作可能会失败(例如,删除未连接的用户),应该报告异常,但我不知道我的异常如何渗透到JMX层。我最好的想法是C风格的返回码。

这就是的意图,它被声明为从中抛出。引用JavaDoc:

表示由中的MBean方法引发的“用户定义”异常 代理人它“包装”了实际抛出的“用户定义”异常

因此,与其返回神秘的整数代码(或BigDecimal,如果越大越好;),不如捕获“业务异常”,使用业务异常创建一个新的MBeanException并抛出它。如果您的业务异常是可序列化的,并且存在于调用方的类路径中,那么调用方应该能够打开JMX异常并访问业务异常


如果这两个假设中的任何一个都不正确,只需基于业务异常类名和消息创建一条消息,并从新异常(因此您可以获得堆栈跟踪)和新错误消息创建一条MBeanException。

有没有办法在不实际捕获并重新抛出它的情况下获取此消息?就像“给我所有的错误,伙计!”