当编译器说需要将其包装在 try catch 中时,Java spring 异常处理

标签 java spring-mvc exception try-catch

我使用 Spring 通过 @ExceptionHandler 处理 Controller 类中的异常 我有一个传输类(类似于 DAO),其内容如下

HttpResponse httpResponse = client.execute(getMethod);

编译器提示它需要处于 try catch 中。 如果我将 throws Exception 添加到方法签名中,它会停止此警告,但如何处理客户端 (DefaultHttpClient) 的关闭。

注意。还有一个 BuffererdInputStream 需要关闭。

我想我已经把这个问题分成两部分:

  1. 当编译器提示时,处理异常的最佳方法是什么(记住我在 Controller 中使用 Spring 来处理它们)

  2. 如果我在方法签名中使用抛出异常,我该如何 很好切断我的联系。

最佳答案

关于:

public void someMethod() throws SomeException {
    try {
        // ...
    } finally {
        // cleanup
    }
}

Lombok @Cleanup这也是清理事物的好方法。

顺便说一句,我强烈建议您看看RestTemplate并将您的 HttpClient 替换为它

关于当编译器说需要将其包装在 try catch 中时,Java spring 异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16705946/

相关文章:

java - 我应该在哪里放置 close() 方法?

ruby - 如何处理不知道 Ruby 中的库方法可以引发哪些异常?

java - 更新 Runnable 中的 TextView 会导致 Activity 停止

Eclipse 中的 Java Applet Windows 大小

java - 创建单例数组的最佳方法

java - 位移,得到不正确的值

java - 如何在 Spring Boot Controller 中检索查询参数?

angularjs - 我可以一起使用 angular2 和 Thymeleaf 吗?

java - Spring AOP - @Around Error at::0 在切入点中正式未绑定(bind)

exception - Cython:返回类型化内存 View 的函数的异常类型