Ser*_*gel 2 language-agnostic exception-handling exception
我的技术主管坚持这种例外机制:
try
{
DoSth();
}
catch (OurException)
{
throw;
}
catch (Exception ex)
{
Util.Log(ex.Message, "1242"); // 1242 is unique to this catch block
throw new OurException(ex);
}
Run Code Online (Sandbox Code Playgroud)
1242这里是catch方法的标识符,我们处理除OurException之外的异常.项目中的每个catch块都必须具有唯一标识符,以便我们通过查看日志来了解异常发生的位置.
对于每个方法,我们必须捕获OurException并抛出它.如果抛出其他类型的异常,我们必须在重新抛出之前记录它并通过OurException对其进行掩码.
这是一种合理的方法吗?如果有,有什么更好的选择?
编辑:我被告知堆栈跟踪在发布模式下不会产生有意义的结果.您是否建议捕获并抛出一般异常?
Edit2:谢谢大家.我用你的答案作为我反对此论点的一部分,但我被告知你没有足够的经验,也不知道如何应对现实生活中的情况.我必须走这条路.
| 归档时间: |
|
| 查看次数: |
558 次 |
| 最近记录: |