加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 尝试和捕捉结构基本问题

发布时间:2020-12-15 23:57:35 所属栏目:百科 来源:网络整理
导读:我是编程的新手,并且想要问,下面显示的代码是一种在布尔方法中使用try catch的好方法吗? 它只是示例代码,但我在Presenter类中有很多方法,并且想知道我将catch放回false的方式,这样做可以,或者我怎么能改进这个 public bool TestMethod(){ try { if(true) {
我是编程的新手,并且想要问,下面显示的代码是一种在布尔方法中使用try catch的好方法吗?

它只是示例代码,但我在Presenter类中有很多方法,并且想知道我将catch放回false的方式,这样做可以,或者我怎么能改进这个

public bool TestMethod()
{
    try
    {
       if(true)
       { 
         //some random code
         return true;
       }
       else{return false;}
    }
    catch{return false;}
}

我只是想确保它是实现这一目标的好方法,我将不胜感激任何有关如何改进的反馈.

解决方法

以下是一些要点,我发现问题中的代码有点辨别:

代码中的各个地方有多个return语句,这可能会让代码的读者感到困惑.我们通常倾向于在函数中遵循单个return语句. (尽管规则有一些例外,例如在出现某些错误情况时提前返回)

通常,您不应该隐藏用户的异常(或者有人说“永远不会吞下异常”),您应该重新抛出它或处理异常并将其显示给用户.

至少,应该有一些异常日志.

因此,考虑到这些要点,上面的代码可以写成:

public bool TestMethod()
{
    bool returnValue = false;
    try
    {
       if(true)
       { 
         //some random code
         returnValue = true;
       }       
    }
    catch(Exception ex)
    {
         // log the exception here,or rethrow it
    }

    return returnValue;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读