例外传播

时间:2010-09-17 05:18:20

标签: c# .net exception exception-handling

当一个人说 允许异常向上传播到客户端 时,这意味着什么? 它是如何工作的?

3 个答案:

答案 0 :(得分:3)

'客户端'就是代码正在调用遇到异常的方法。您可以在方法中处理它,或者如果您不处理它,调用者将获得该异常。如果它没有处理它,它继续向上移动方法调用的堆栈,直到它到达Main()并且没有任何处理它(或某些等价物),导致未处理的异常处理程序进入。

“客户”将是用于向用户显示“友好”错误的任何机制,无论是网页还是winform等。

答案 1 :(得分:1)

未捕获的异常将导致当时执行方法的过早结束。如果封闭方法没有捕获异常,则会发生同样的情况。这一直持续到执行回到Main方法,此时应用程序本身就会死亡并向Windows报告异常。

答案 2 :(得分:1)

当抛出异常时,框架期望它被处理。它将查看调用堆栈中的当前调用。如果没有合适的catch,它会将调用栈向上移动到当前调用的调用者。如果那里没有适当的捕获量,它将再次向上移动。它将继续这样做。如果它到达程序的最高入口点,那么整个程序将崩溃,客户端显然会看到它。

相关问题