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

c# – 在方法内生成和处理用户消息?

发布时间:2020-12-16 01:46:22 所属栏目:百科 来源:网络整理
导读:处理可能偶尔无法评估的函数的最佳方法是什么,但即使它确实失败也不需要暂停父例程,尽管有时可能需要向用户解释? 我有一个函数,深入我的代码,返回一个数字.编码方面,最简单的方法是使函数可以为空,并在无法求值时返回null.这样,调用例程可以继续,同时还知道
处理可能偶尔无法评估的函数的最佳方法是什么,但即使它确实失败也不需要暂停父例程,尽管有时可能需要向用户解释?

我有一个函数,深入我的代码,返回一个数字.编码方面,最简单的方法是使函数可以为空,并在无法求值时返回null.这样,调用例程可以继续,同时还知道函数未能返回数字.

但是,根据具体情况,有时我想向用户显示失败的原因,以便他们知道要修复的内容.显然只返回null是不够的信息.我是否应该在函数内部引发消息,因为它评估要捕获的匿名侦听器,如果需要可以显示?
(对于那些正确地指出逻辑函数不应该负责创建用户消息的人,我并不是要暗示函数生成全文消息,只是以某种方式传递问题的原因,以便UI可以在以后解析到一条消息)

我认为另一个选项是在函数内部抛出异常,如果它无法评估,则在需要时捕获并解释为用户消息.然而,如上所述,无法评估通常并不意味着停止例程,现在我每次使用它时都必须在函数调用周围放置一个Try … Catch块.

解决方法

您可以将参数“string for example”传递给函数,因此每当函数失败时,通过返回false或null将原因打印给用户.就像微软用TryParse做的那样……但是在这里我们也得到了失败的原因:

public bool TrySomeFunction(out string errorMessage) 
{
    try
    {
        //code that may cause exception

        return true;//operation completed successfully
    }
    catch (Exception exception)
    {
        errorMessage = exception.Message;
    }

    return false; 
}

(编辑:李大同)

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

    推荐文章
      热点阅读