在此问题听起来非常愚蠢之前,让我解释一下.我使用了很多C#,Java和C++.我注意到的主要问题是错误处理,特别是在第三方库中.在C#和Java中,处理错误的一般方法是通过异常,而不是传统的C处理错误,即int.
这是我在C#/ Java中常见的内容:
try
{
ExternalLibraryInit();
}
catch (ExternalLibraryException ex)
{
//error
}
Run Code Online (Sandbox Code Playgroud)
这是我在C++中常见的东西:
if (ExternalLibraryInit()) //Generally returns an int, which no error is 0 and a error is
//anything else
{
//error
}
Run Code Online (Sandbox Code Playgroud)
为什么人们倾向于在C++中使用异常?我不明白为什么不使用它们,是不是它们的用途?
您显示的示例(条件if)不符合有效情况的异常.
例外用于处理异常情况.在你的情况下,函数只返回一个值,并且两个结果都是预期的,没有任何例外.该函数可能是一个C(C没有抛出任何异常)api谁是你没有的源代码.如果在这种情况下,你根本无法摆脱条件.检查后如何处理错误/异常完全取决于您.很可能会抛出一个异常并将其传播到层次结构上,但这是在你按照它要求处理的方式处理api之后.
至于为什么人们不使用例外,可能有很多原因(或神话),我想到的三个最常见的原因是:
| 归档时间: |
|
| 查看次数: |
240 次 |
| 最近记录: |