当前位置: 首页 > 知识库问答 >
问题:

为什么程序仍然抛出java.net.ConnectException即使我添加了try..catch?

孙承弼
2023-03-14

我正尝试在出现连接错误时添加一个控件。我的目的是通过捕捉异常来阻止程序抛出异常。

try {
    Client client = ClientBuilder.newBuilder()
        .register(JacksonFeature.class)
        .build();
        client.register(new HttpBasicAuthFilter("login", "password"));
        WebTarget webTarget = client.target("http://path");
        Response response = webTarget.request().post(Entity.json(bean));
        System.out.println(response.getStatus());

} catch (Exception e) {
        // I do nothing here
}

但它会在控制台中打印:

抱歉,如果我打印了太多的StackTrace...

我想知道,如果我不打印出stacktrace,我如何使异常消失?谢谢:)

共有1个答案

燕富
2023-03-14

看起来您的异常是由框架记录的,也是抛出给您的客户机代码的。可能不可能取消它,或者(如果它是通过日志API记录的)您可以使用适当的日志级别配置来控制它。

 类似资料:
  • 我有下面的代码: 联机System.NullReferenceException:DownloadLinkList.Add(Item.SelectSingleNode(“.//a”).Attributes[“href”].Value); 怎样才能妥善处理,让它不再崩溃?我的印象是,它应该只是跳过前面。 使用也不是一个选项,因为我仍然需要没有所需的的某个页面的信息。

  • 我的代码出现错误: 我的示例的完整代码如下:

  • 问题内容: 我知道十进制数不能用有限的二进制数精确地表示(解释),因此会失去一些精度,并且不会精确地表示。另一方面,因为是,所以可以精确表示。 话虽如此,将 三遍 相加并不完全是可以理解的,因此,以下代码将输出: 但是, 五次 相加会得到确切的结果呢?以下代码显示: 如果不能精确表示,将其相加5次给出的精确表示又如何呢? 问题答案: 舍入误差不是随机的,并且它的实现方式会尝试使误差最小化。这意味着

  • 我知道十进制数不能精确地用有限二进制数表示(解释),因此将失去一些精度,并且不能精确地。另一方面,可以准确地表示,因为它是。 可以理解的是,三次添加并不能准确地给出,所以下面的代码打印: 如果不能精确地表示,那么添加5次它怎么能精确地给出可以精确地表示呢?

  • 问题内容: 我想问为什么我们不必在一段时间内添加try-catch块,而应该在其他例外情况下这样做呢? 我的意思是: 编辑:当我说:很明显会有例外发生时,为什么编译器不禁止这样做呢? 问题答案: 那是因为这是一个 未经检查的 异常。不需要显式声明或捕获它。另请参阅有关该主题的Sun教程。 更新: 通常,您只应抛出一个(最好是javadoc中列出的其子类之一)以表明调用者做错了。即传递一个参数(然后

  • 问题内容: 这是原始代码 这里私有的int x,y不是最终值是很好的,因为构造函数中的set方法会在调用get时在关系发生之前发生,因为它们使用相同的锁。 现在,这里是修改后的版本和主要方法,由于在set方法中删除了synced关键字,因此我希望在运行它后再抛出AssertionError。如果有人指出它不是线程安全的,那我就将构造函数私有化为唯一的调用者,这不是我关注的重点。 无论如何,我现在已