区块链技术博客
www.b2bchain.cn

在Catch块中使用IF语句的最佳实践 – c#程序员分享

本文介绍了在Catch块中使用IF语句的最佳实践 – c#程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

Improve this question

我有如下方法:

public static addSomething(int id) {     string msg = getStringMsg(id);     try     {         //do lots of stuff         Console.WriteLine(msg)     }     catch (Exception e)     {         if (id == 1)             throw new Exception("Exception msg 1: " + msg);         else             throw new Exception("Exception msg 2: " + msg);     } } 

在catch块中有像这样的条件分支会皱眉吗?如果是这样,我有什么选择?

我想我可以做到:

public static addSomething(int id) {     string msg = getStringMsg(id);     string exceptionMsg;     if (id == 1)         exceptionMsg = "Exception msg 1: " + msg);     else         exceptionMsg = "Exception msg 2: " + msg);     try     {         //do lots of stuff         Console.WriteLine(msg)     }     catch (Exception e)     {         throw new Exception(exceptionMsg);     } } 

但是我真的很想将try块之外的代码保持在最低限度。这是我的第二个问题:有什么方法可以将getStringMsg(id)分配给msg块内的try,但仍然可以在catch块中访问它?

参考方案

我建议您在错误发生之前避免创建错误消息。另外,我建议将原始异常作为内部异常传递给要抛出的异常(最好是创建一些自定义异常,如果您打算将其抛出到更高级别的应用程序中):

public static void addSomething(int id) {     string msg = getStringMsg(id);     try     {         //do lots of stuff         Console.WriteLine(msg)     }     catch (Exception e)     {         string errorMessage = (id == 1) ?             "Exception msg 1: " : "Exception msg 2: ";          throw new FooException(errorMessage + msg, e);     } } 

Json到php,json_decode返回NULL – php

我正在用PHP进行JSON解析器的一些API,用于存储有关遗产的信息。我在解析时遇到问题,因为它返回的是NULL值而不是数组或对象。简单的JSON代码可以很好地解析,但是可以这样:{"success":true,"totalCount":1,"data":[{"id":99694…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? – java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分[email protected]("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 – java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

每个文件合并后添加换行 – python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription…", "comment": ""} test.json{"name&#034…

如何使用C#仅从多层嵌入式MongoDB文档中获取具有相应父元素的确切子元素 – c#

尝试使用C#从嵌入式MongoDB文档中获取确切的子文档及其对应的父文档,但查询返回所有子文档以及对应的父文档和其他文档。如何将参数设置为使用Filter和findOptions获得完全匹配。我的预期结果是频道1->第1集,并且是给定ID的Child Track。这是我的代码:// Class namespace CrudWithMultilvelNe…

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 在Catch块中使用IF语句的最佳实践 – c#程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们