首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >捕获连接超时和页未找到异常?

捕获连接超时和页未找到异常?
EN

Stack Overflow用户
提问于 2018-11-02 04:58:10
回答 2查看 931关注 0票数 0

我正在使用第三方api在春季获得用户身份验证。我需要捕捉在试图连接到该api时出现的异常,比如连接超时和找不到页面(如果他们的服务器关闭)。现在,我正试图用下面的代码来完成这个任务。这是否足以捕获这些例外情况?

代码语言:javascript
复制
public boolean userAuthentication(String userName) {
    try {
         if(hasAccess(userName)) {
            return true;
         } else {
            return false;
         }
    } catch (IOException e) {
         logger.info("exception occured "+ e);
         return false;
    }
}

这里hasAccess是第三方api,我不能更改该方法。然而,我需要捕获这些异常并给用户适当的响应。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-02 05:10:21

hasAccess(字符串)定义了任何抛出语句吗?

它是否定义了抛出IOException?

您是否有权访问此方法的源代码?如果您这样做了,那么您可以去检查它们是否正在处理抛出的任何异常,或者它们是否正在重新抛出任何运行时异常。

为了更安全起见,您应该捕获运行时异常,因为错误对您来说是不可预测的,因此您可以优雅地处理错误。

票数 0
EN

Stack Overflow用户

发布于 2018-11-02 05:08:58

如果不查看hasAccess()的实现,就不可能知道这是否足够,因为这是抛出错误的函数。

但是,如果确实需要捕获此异常,则始终可以使用

代码语言:javascript
复制
try {
    if (hasAccess(userName)){}
} catch (Exception e) {
    //caught
}

这并不总是好的实践,因为异常会捕获每个异常,但是如果您正在寻找异常,那么它是一个解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53112874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档