我在多台计算机上运行同一软件,但是报告错误的方式不一致。
所有软件所做的工作就是打印出(例如)尝试连接到消息队列时抛出的异常。
某些机器使用文本描述报告错误
MQRC_DATA_LENGTH_ERROR ---> IBM.WMQ.MQException:MQRC_DATA_LENGTH_ERROR
其他人仅报告错误代码。
2538 ---> IBM.WMQ.MQException:2538
我不确定为什么会这样,但是我相信这与amqmdnet DLL从v8更新到v9有关。它似乎已在所有系统上正确配置,并且找不到使用中的任何v8 DLL。有什么我想念的吗?我应该去别的地方看看吗?我还能做些什么?
答案 0 :(得分:0)
问题似乎是IBM MQ安装在报告带有文本描述错误的机器上,而不是其他机器上。
答案 1 :(得分:0)
是的,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);
}