如何在类级

时间:2015-05-29 08:32:41

标签: c#

我有一个很大的类,它使用了更多的类。它使用外部资源(数据库,文件等),可能会发生一些例外情况。

As I learnedsometimes最好使用UnhandledException事件,而不是在任何地方放置try-catch块。

但是,我的课程只是众多其他课程中的一个,前面提到的解决方案适用于应用程序级别。

只有在此类中触发的异常以及其他未处理的异常未被捕获时,我才能以某种方式缩小它才能被解雇吗?

使用AOP似乎是一种好方法,但我不确定。

1 个答案:

答案 0 :(得分:1)

我不确定我是否完全理解您的问题,但请允许我尝试回答: 您是否有可能以这样的方式加载您的课程:它知道它可能生成哪些异常,正在加载dll的类中处理?这似乎是不可能的,仅仅是因为调用层次结构。我建议您使用此机制记录您的类中可能抛出的异常:

/// <exception cref="ArgumentOutOfRangeException">Thrown if argument is greater than the size of the array.</exception>

通过这种方式,您的调用类可以更好地准备好处理异常,并且或多或少知道哪些可能的异常不会被处理。

另一种方法是将代码封装在try-catch块中,并使用事先处理更具体的异常。然后,您可以处理可以以编程方式解析的方案,然后最后捕获通用的Exception,以确保您的程序保持稳定,即使基础类失败也是灾难性的。

不幸的是,我不知道你将如何告诉你的被叫dll,它可能会抛出哪些例外。