當我們調用Socket.getInputStream()
創建客戶端返回null後的第二次。我能做什麼?什麼時候的getInputStream()返回null?
0
A
回答
1
根據its documentation Socket.getInputStream()
永遠不能返回null
。它要麼返回InputStream
或它拋出一個IOException
。
如果它拋出一個IOException
那麼你要麼關閉插座,另一端關閉了套接字或通信過程中發生的一些其他問題。
2
它將感覺像一個返回null值,如果你不小心使用這種模式:
InputStream is = null;
try {
is = socket.getInputStream();
} catch (IOException e) {
// TODO will be logged once logging is implemented...
// e.printStackTrace();
}
is.read(); // <-- NPE in case IOException...
仔細檢查你的代碼,這可能是你的NPE的原因。
相關問題
- 1. 什麼時候返回null?
- 2. 什麼時候findViewById()返回null?
- 3. 什麼時候ShowDialog()返回null?
- 4. HttpServletRequest.getSession(false):它什麼時候返回null?
- 5. 什麼時候SqlCommand.ExecuteReader()返回null?
- 6. 什麼時候可以ValidatorUtils.getValueAsString()返回null?
- 7. Idiomatic C#:什麼時候返回null以及何時返回NaN
- 8. 什麼時候ssh2_scp_send()返回?
- 9. 什麼時候你返回一個類,你什麼時候返回一個HttpResponseMessage?
- 10. 什麼時候返回空集合,什麼時候不是?
- 11. QTreeWidget :: currentItem什麼時候沒有選擇什麼時候返回?
- 12. 什麼時候ref($ variable)返回'IO'?
- 13. 什麼時候WASAPI GetNextPacketSize返回0
- 14. 什麼時候Angular4 HttpClient.get()返回undefined?
- 15. 什麼時候ServletRequest.getRemoteAddr返回IPv6
- 16. 什麼時候php json_decode返回false?
- 17. 什麼時候ItemContainerGenerator.Status枚舉返回GeneratorStatus.Error?
- 18. 什麼時候EndResumeBookmark會返回BookmarkResumptionResult.NotReady?
- 19. 什麼時候socket.recv(recv_size)返回?
- 20. 什麼時候send()會返回EWOULDBLOCK?
- 21. 什麼時候getClass()。getName()返回void?
- 22. EndReceive什麼時候返回零字節
- 23. 什麼時候reflect.IsValid返回false?
- 24. 什麼時候可以mktime返回-1?
- 25. 保留什麼時候返回?
- 26. API在什麼時候返回ERROR_MUI_FILE_NOT_LOADED?
- 27. 什麼時候可以ManualResetEvent.Set()返回false?
- 28. 什麼時候Socket.ReceiveAsync同步返回?
- 29. 什麼時候instanceof返回FALSE?
- 30. 什麼時候[MFMailComposeViewController canSendMail]返回NO