最近,我一直在努力了解什么是正确的检查量以及什么是正确的方法。
我对此有一些疑问:
检查错误(错误的输入,错误的状态等)的正确方法是什么?显式检查错误,还是使用可以从最终代码中优化的断言之类的函数,更好?我感觉像是用很多额外的代码来明确地检查程序是否杂乱,无论如何在大多数情况下都不应该执行这些代码,更不用说大多数错误都以中止/退出失败而告终。为什么将具有显式检查的功能弄乱只是为了中止?我一直在寻找断言而不是显式检查错误,却很少能真正解释什么时候做。
大多数人说“使用断言检查逻辑错误,并使用显式检查检查其他故障”。但这似乎并没有使我们走的太远。我们可以说这是可行的:
Malloc returning null, check explictly
API user inserting odd input for functions, use asserts
这会使我在错误检查方面变得更好吗?我还可以做些什么?我真的很想改进和编写更好的“专业”代码。
setjmp
/ longjmp
在C语言中可用,因此您不需要新的语言。