异常处理:如果条件与异常

时间:2010-08-26 05:35:05

标签: exception-handling

为了验证参数的有效性,C语言使用一堆IF Else条件来确定它是否有效。在JAVA中,它有Exception工具来处理这个问题。这两种方法的用法是什么,这两种方式的优缺点是什么?谢谢!

问候!

1 个答案:

答案 0 :(得分:1)

就个人而言,我喜欢断言。

但在这种情况下,我更喜欢Try-Catch来解决复杂问题,如果是其他问题则更喜欢更简单的问题。

If-else(s)在可能存在的情况下是不可读和可维护的,特别是对于复杂问题。这就是为什么try-catch来救援的原因。假设给定输入是正确的,让我们处理它。在某些行中,给定的输入被证明是错误的,只需转到catch块并返回一些默认值。

有人认为try-catch更慢。嗯,这是真的。但是慢多少? 0.1毫秒? 1毫秒?为了可读性和可维护性,我将牺牲这些毫秒。

毕竟,在编程中,每个函数/过程都有前提条件。我们都知道前提是什么意思。最好的方法(我的个人观点)是断言所有参数都适合所有前提条件。通过这种方式,我们可以假设给定的输入始终是正确的,因为另一层的配合已经保证了这一点。