所以,我必须调查,如果null InputStream去捕捉块的代码。
示例代码片段:。
public class TestLambda implements RequestStreamHandler {
public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) {
try {
if (inputStream != null && inputStream.available() != 0) {
System.out.println("do something...");
}
} catch (Exception exception) {
System.out.println("in catch block");
}
我的问题是,如果我没有在上面的if块中加入一个else条件,而输入流为空,那么控件是否应该进入捕获块?
不,控制不会进入异常块,除非是有一个 "空输入流"。Exception
被抛出。 仅仅有一个null输入流不会导致异常抛出,因为输入流的 if
条件是检查它是否为空。