可能有一个专门用于异常处理的类C#

有时

我正在VS2015中开发Windows应用程序我的查询与处理系统定义的异常的两种可能方法有关:-尽可能使用try块并进行处理-定义异常类并写下所有可能的异常(我只关注系统定义的异常例外,例如File Not Found,Null Reference),并在其他将自动处理该异常的类中继承该类。有人可以建议我哪种方法更好,如果第二种方法更好,如何实现和使用它。我的类已经从Form继承了。那我需要一个接口吗?如果可以,我可以在哪里实现这些方法?任何帮助表示赞赏!提前致谢。

乔治·帕切德(Georg Patscheider)

方法2是可能的。如果您总是希望获得相同类型的例外,我建议您这样做。

如果被调用的方法可以引发非常具体的异常,则最好在引发异常的地方进行处理。

您可以定义一个包装器方法来捕获如下异常:

public bool TryExecuteServiceAction(Action a) {

    if (a == null) {
        throw new ArgumentNullException("a");
    }

    try {
        a();
        return true;
    }
    catch (SecurityAccessDeniedException sade) {
        Logger.Error(sade);
        return false;
    }
}

通过返回ResultObject包含错误代码,消息等的,而不是来扩展此模式bool

像这样使用包装器

DoSomethingDto serviceResult = null;
var success = TryExecuteServiceAction(() => serviceResult = _service.DoSomething(command));
if (success) {
    // we know that the service call was successful and the DTO has data
    // work with DTO ...
}
else {
    // e.g. show generic error message to user
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

一类可能有一个以上的超类吗?

来自分类Java

在Eclipse的一个文件中可能有多个类吗?

来自分类Dev

帮助,我可能有一个Rootkit

来自分类Dev

一个信号可能有多个陷阱

来自分类Dev

在C中可能有一个带条件中断语句的宏

来自分类Java

是否可能有一个不适用于任何类,方法,字段等的Java注释。只是注释本身会生成代码

来自分类Dev

一个类中是否可能有多个具有相同名称但参数不同的方法?

来自分类Java

它是不可能有一个@RequestParam作为一个列表?

来自分类Dev

C:是否可能有一个将函数指针数组作为其参数之一的递归函数?

来自分类Dev

是否有可能有一个没有下拉箭头的 SelectInput?

来自分类Dev

一个项目中可能有两个Java共享代码模块?

来自分类Dev

在一个查询中可能有两个之间?

来自分类Dev

有可能有一个表函数返回空行?

来自分类Dev

执行一个可能有一些参数为空的查询

来自分类Dev

一个MySQL语句(SET)中可能有多个用户定义的变量?

来自分类Dev

当每个对象可能有一个值列表时创建表

来自分类Dev

一个反应组件中可能有两种状态吗

来自分类Dev

可能有一个函数接受设定长度的char数组吗?

来自分类Java

而(I =!){} - 这可能有一个任务,始终是真实的

来自分类Dev

可能有一个新函数在Golang中分配文件描述符

来自分类Dev

一个CCLabelTTF中可能有不同的颜色字符串?

来自分类Dev

Swift中是否可能有一个包含通用协议的属性?

来自分类Dev

在Dart中,是否可能有一个const闭包映射?

来自分类Dev

Angular Material工具提示中是否可能有一个列表?

来自分类Dev

一个占位符中是否可能有多种文本颜色?

来自分类Dev

一个sqlplus select语句中可能有多个CASE语句吗?

来自分类Dev

Python | 一个IF语句可能有多个结果吗?

来自分类Dev

可能有一个初始的textarea宽度,但可以调整吗?

来自分类Dev

是否有可能有一个 EF Core 中间件或可以应用于过滤每个查询的东西?

Related 相关文章

  1. 1

    一类可能有一个以上的超类吗?

  2. 2

    在Eclipse的一个文件中可能有多个类吗?

  3. 3

    帮助,我可能有一个Rootkit

  4. 4

    一个信号可能有多个陷阱

  5. 5

    在C中可能有一个带条件中断语句的宏

  6. 6

    是否可能有一个不适用于任何类,方法,字段等的Java注释。只是注释本身会生成代码

  7. 7

    一个类中是否可能有多个具有相同名称但参数不同的方法?

  8. 8

    它是不可能有一个@RequestParam作为一个列表?

  9. 9

    C:是否可能有一个将函数指针数组作为其参数之一的递归函数?

  10. 10

    是否有可能有一个没有下拉箭头的 SelectInput?

  11. 11

    一个项目中可能有两个Java共享代码模块?

  12. 12

    在一个查询中可能有两个之间?

  13. 13

    有可能有一个表函数返回空行?

  14. 14

    执行一个可能有一些参数为空的查询

  15. 15

    一个MySQL语句(SET)中可能有多个用户定义的变量?

  16. 16

    当每个对象可能有一个值列表时创建表

  17. 17

    一个反应组件中可能有两种状态吗

  18. 18

    可能有一个函数接受设定长度的char数组吗?

  19. 19

    而(I =!){} - 这可能有一个任务,始终是真实的

  20. 20

    可能有一个新函数在Golang中分配文件描述符

  21. 21

    一个CCLabelTTF中可能有不同的颜色字符串?

  22. 22

    Swift中是否可能有一个包含通用协议的属性?

  23. 23

    在Dart中,是否可能有一个const闭包映射?

  24. 24

    Angular Material工具提示中是否可能有一个列表?

  25. 25

    一个占位符中是否可能有多种文本颜色?

  26. 26

    一个sqlplus select语句中可能有多个CASE语句吗?

  27. 27

    Python | 一个IF语句可能有多个结果吗?

  28. 28

    可能有一个初始的textarea宽度,但可以调整吗?

  29. 29

    是否有可能有一个 EF Core 中间件或可以应用于过滤每个查询的东西?

热门标签

归档