2

例如,如果只有在该列不存在的情况下才需要在表中创建列时,我应该使用什么?

我可以编写一个代码来检查一个列是否存在,然后才添加它,所以我可以通过将我的方法包装在 try-catch 中而不检查它(如果有 - 捕获异常,如果没有- 该列将被添加)

结果将是相同的。

还有很多例子,比如你可以扫描文件存在,然后复制,你可以捕捉异常。

哪种方法更识字,还是正确?

4

2 回答 2

3

有趣的是,您的问题取决于您所谈论的编程语言。

在 C、Java、C++、C# 等语言中,人们更喜欢“LBYL”(先看一下)模式;而诸如 python 之类的语言则非常强调“EAFP”(请求宽恕比请求许可更容易)。

含义:在python中,你经常使用try/catch 甚至“counting for loop”也被实现为try/catch);而在 C#、Java、C++ 中,您更喜欢使用 if/else。

遵循这些约定非常重要——大多数 Cx 语言程序员只是假设您不使用 try/catch 来模拟控制流。换句话说:您应该遵循该语言的大多数其他开发人员将使用的范式。

于 2016-09-18T10:23:52.000 回答
1

我不认为有一条“正确”的路要走。无论哪种方式都可以使您无论如何都能实现目标。然而,对于干净的代码,我的(非常主观的)观点是,异常应该只用作那个非常“字面”的东西,并表明发生了一些异常(或意外)的事情。因此,在大多数情况下,您只会在异常情况下向您的运行时发送过多垃圾邮件。但是,如果您希望扫描文档并总是希望有一定数量的列,那么排除异常可能是正确的方法,因为错误的列数就是:异常。

于 2016-09-18T10:23:42.823 回答