gpt4 book ai didi

java - 我有一个 ConnectException 由于某种原因没有被捕获

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:51:51 28 4
gpt4 key购买 nike

我正在开发一个使用套接字的 Android 应用程序。我有一个名为 initializeStreams() 的函数,它打开套接字并尝试连接。如果无法建立连接,此函数将抛出 ConnectException。但出于某种原因,在调用 initializeStreams() 的代码中,它有一个 ConnectException 的 catch block ,日志打印出它自己的异常堆栈跟踪,而不是转到 catch block 。即使抛出了确切的异常,也根本不会到达 catch block 。这是代码:

try block :

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();
}

我无法解决这个问题,因此非常感谢您的帮助。

最佳答案

您需要将异常链接到 catch block 中。尝试以下操作:

public void initializeStreams() throws ConnectException {
try {
Log.i(TAG, "Attempting to connect");

requestSocket = new Socket(SERVER_ADDR, PORT);

/* other code */


} catch(ConnectException e){
throw e;
}

catch (IOException e) {
e.printStackTrace();
}

关于java - 我有一个 ConnectException 由于某种原因没有被捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11313949/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com