从java捕获MQ错误代码

时间:2016-04-03 06:53:40

标签: java ibm-mq mq

我正在使用IBM MQ,同时在queue上发送消息,我需要捕获错误代码,例如:

MQJE001: Completion Code '2' Reason '2035'

我的问题是读取此错误代码,我的java程序通过以下方式读取输出:

BufferReader reader = new BufferReader(new InputStreamReader(processSH.getInputStream())); // processSH - the process that is putting message on queue

如果没有错误代码,我可以用这种方式读取输出,但我无法使用以下方式阅读:

String line = null;
while(line.reader.readLine()) != null){
    system.out.println(line) // prints nothing in case of error
}

感谢所有帮助者!

2 个答案:

答案 0 :(得分:1)

我认为问题出现在这段代码中:

String line = null;
while(line.reader.readLine()) != null){
    system.out.println(line) // prints nothing in case of error
}

我甚至不确定你是如何编译它的。 reader不属于String的财产。我认为该行应为:

while(line = reader.readLine()) != null){

答案 1 :(得分:0)

要抓住我使用过的exception

BufferReader errorReader = new BufferReader(new InputStreamReader(processSH.getErrorStream()));
在某些情况下,

MQ错误可能为ErrorStream

希望有所帮助,谢谢。