我正在开发一个使用套接字的 Android 应用程序。我有一个名为 initializeStreams() 的函数,它打开套接字并尝试连接。如果无法建立连接,此函数将引发 ConnectException。但由于某种原因,在调用具有 ConnectException 捕获块的 initializeStreams() 的代码中,日志打印出它自己的异常堆栈跟踪,而不是转到捕获块。即使抛出了确切的异常,也永远不会到达 catch 块。这是代码:
尝试块:
try {
initializeStreams();
/* other code */
} catch (ConnectException e) {
Log.i(TAG, "caught connect exception");
}
初始化流():
public void initializeStreams() throws ConnectException {
try {
Log.i(TAG, "Attempting to connect");
requestSocket = new Socket(SERVER_ADDR, PORT);
/* other code */
} catch (IOException e) {
e.printStackTrace();
}
我无法弄清楚这一点,所以任何帮助将不胜感激。