Java 抓住被抛弃的人是一种不好的习惯吗?

Java 抓住被抛弃的人是一种不好的习惯吗?,java,sonarlint,Java,Sonarlint,捕捉可丢弃的东西是一种不好的做法吗?例如,我的代码是这样的。但在声纳中它显示为bug。我们如何解决这个问题 密码 是的,一般来说,这是个坏主意 您正在捕获异常以及异常。你几乎肯定没有正确地处理它们。例如,根据我对文档的阅读,您处理不当。你在网上做任何有用的事情的机会都微乎其微 由于恢复不太可能,其结果是您将混淆原始问题,使调试过程变得更加困难。是的,这是一种糟糕的做法。在Java中,Throwable是错误和异常的基类。 您已经熟悉异常,它们可以被检查或取消检查,因此您可以捕获它们并处理、记录或

捕捉可丢弃的东西是一种不好的做法吗?例如,我的代码是这样的。但在声纳中它显示为bug。我们如何解决这个问题

密码
是的,一般来说,这是个坏主意

您正在捕获异常以及异常。你几乎肯定没有正确地处理它们。例如,根据我对文档的阅读,您处理不当。你在网上做任何有用的事情的机会都微乎其微


由于恢复不太可能,其结果是您将混淆原始问题,使调试过程变得更加困难。

是的,这是一种糟糕的做法。在Java中,Throwable是错误和异常的基类。 您已经熟悉异常,它们可以被检查或取消检查,因此您可以捕获它们并处理、记录或重新显示

错误更复杂,它们是类似JVM错误的OutOfMemoryException,这是一种虚拟机器错误。你打算如何在代码中处理这个问题?答案是:你根本不能

如果您搜索“可恢复和不可恢复的情况”,异常是可恢复的情况,因为您可以处理NullPointerException,而不可恢复的情况是错误

如果你想查看Baeldung,这是一个非常好的关于Java、Spring等的博客。

这是否回答了您的问题?我理解这些答案,你能粘贴你的答案吗?我只是删除可丢弃的块?是的,你应该。异常捕获应该足以处理其他可能性。
try {
            return restTemplate.getForObject(urlSearchID, AccessIDSearchResponse.class);

        } catch (HttpServerErrorException hse) {
            AccesIdExceptionUtility.recoverFromHttpServerExc(hse);
        } catch (HttpClientErrorException hce) {
            AccesIdExceptionUtility.recoverFromHttpClientExc(hce);
        } catch (ClientException ce) {
            AccesIdExceptionUtility.recoverFromClientExc(ce);
        } catch (Exception e) {
            AccesIdExceptionUtility.recoverFromException(e);
        }
        catch (Throwable ex) {
            throw new ServiceException(ErrorMessages.EPO_SYSTEM_ERROR, ex.getMessage(), agentSearchUrl);
        }
        return null;