数据验证和异常处理有什么区别?

时间:2014-10-21 15:14:11

标签: c# error-handling separation-of-concerns

我的问题可能非常基本,但我想了解数据验证和异常处理之间的核心差异,以及何时应该使用两者。

有人告诉我,除非你绝对必须使用异常处理,否则你不应该在代码中使用异常处理,因为异常会使代码变得复杂。但是,不是try-catch-finally语句(异常处理)是分离业务逻辑和UI的好方法吗?验证用户输入并在UI中显示错误消息时的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

数据验证意味着在执行可能失败的操作之前检查数据,例如在进行除法之前检查0。

异常处理意味着如果操作失败,则定义良好的行为,例如,如果数据库查询超时。

如何在拖曳之间做出选择取决于你在做什么。虽然使用异常处理捕获0 devisor并不优雅,因为您之前可以轻松地检查它,但您必须对与其他资源通信的操作使用异常处理(数据库查询或TCP套接字将失败,甚至磁盘将会消失空间)。