【问题标题】:IBM Web MQ printing exceptions differently on different systemsIBM Web MQ 在不同系统上以不同方式打印异常
【发布时间】:2018-10-02 12:33:23
【问题描述】:
我在多台机器上运行相同的软件,但报告错误的方式不一致。
软件所做的只是打印出(例如)尝试连接到消息队列时抛出的异常。
部分机器报错带有文字说明
MQRC_DATA_LENGTH_ERROR ---> IBM.WMQ.MQException: MQRC_DATA_LENGTH_ERROR
别人只报错误码。
2538 ---> IBM.WMQ.MQException: 2538
我不确定这是为什么,但我相信这与 amqmdnet DLL 从 v8 更新到 v9 有关。它似乎已在所有系统上正确配置,我找不到任何正在使用的 v8 DLL。有什么我想念的吗?我应该去别的地方看看?我还能做什么?
【问题讨论】:
标签:
exception
exception-handling
websphere
ibm-mq
【解决方案1】:
问题似乎在于 IBM MQ 安装在使用文本描述报告错误的机器上,而不是安装在其他机器上。
【解决方案2】:
是的,MQ V8 和 V9 之间的 MQException 的“消息文本”可能会发生变化。
您没有显示您的代码,但您只是在转储异常吗?
即
catch (MQException e)
{
System.Console.Out.WriteLine(e);
}
处理MQ异常的正确方法如下:
catch (MQException e)
{
System.Console.Out.WriteLine("MQException CC=" + e.CompletionCode + " : RC=" + e.ReasonCode);
}