gpt4 book ai didi

java - 处理java异常

转载 作者:行者123 更新时间:2023-11-29 07:22:08 25 4
gpt4 key购买 nike

这个问题是关于java异常的,为什么有的情况抛出异常,即使捕获到异常,程序也退出了,没有exit()语句?我的代码看起来像这样

    void bindProxySocket(DefaultHttpClientConnection proxyConnection, String hostName, HttpParams params)
{
if (!proxyConnection.isOpen())
{

Socket socket = null;
try {
socket = new Socket(hostName, 80);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try
{
proxyConnection.bind(socket, params);
}
catch(IOException e)
{
System.err.println ("couldn't bind socket");
e.printStackTrace();
}
}
}

然后

我这样调用这个方法:

bindProxySocket(proxyConn, hostName, params1);

但是,程序退出了,虽然我想通过做其他事情来处理异常,难道是因为我没有将方法调用包含在 try catch 子句中吗?如果我再次捕获异常,即使它已经在方法中,会发生什么情况?如果我只想在发生异常时清理 finally 子句中的资源,否则我想继续执行该程序,我该怎么办?我猜在这种情况下我必须包含整段代码,直到我可以在 try 语句中清理资源或者我可以在 handle exception 语句中完成它吗?其中一些问题是关于这个具体案例的,但我想对我所有的问题都得到一个彻底的回答,以供将来引用。谢谢

编辑:

java.net.UnknownHostException: www.dsewew324f.com
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at homework3.Proxy.bindProxySocket(Proxy.java:666)
at homework3.Proxy$3.handle(Proxy.java:220)
at org.apache.http.protocol.HttpService.doService(HttpService.java:293)
at org.apache.http.protocol.HttpService.handleRequest(HttpService.java:212)
at homework3.Proxy.start(Proxy.java:472)
at homework3.Proxy.main(Proxy.java:1282)
Exception in thread "main" java.lang.IllegalArgumentException: Socket may not be null
at org.apache.http.impl.DefaultHttpClientConnection.bind(DefaultHttpClientConnection.java:80)
at homework3.Proxy.bindProxySocket(Proxy.java:674)

最佳答案

如果

socket = new Socket(hostName, 80);

抛出异常然后 socket 将为 null 并且

proxyConnection.bind(socket, params);

将抛出一个 NullPointerException,您不会捕获它。

关于java - 处理java异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2700705/

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