我正在使用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
}
感谢所有的帮手!
我认为问题出在这段代码中:
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){
为了捕获这种exception
,我使用了:
BufferReader errorReader = new BufferReader(new InputStreamReader(processSH.getErrorStream()));
在某些情况下,MQ
错误可以是ErrorStream
。
希望有帮助,谢谢。