我正在使用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
}
感谢所有帮助者!
答案 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
。
希望有所帮助,谢谢。