尝试在函数内部或外部捕获块并进行错误处理

Cog*_*Sum 26 error-handling try-catch

这是一个通用的编程问题,而不是语言特定的.我已经看过几个尝试和捕获的appraoches.

一种是对所需数据进行任何预处理,使用适当的参数调用函数并将其包装到try/catch块中.

另一种是简单地调用函数传递数据并依赖函数内的try catch,如果发生错误,函数返回true/false标志.

第三个是功能和内部的try catch组合.但是,如果函数尝试catch捕获某些东西,它会抛出函数捕获之外的try catch块的另一个异常.

有关这些错误控制方法的优缺点的想法,或者是否有可接受的标准?我的谷歌搜索忍者技能让我无法找到准确的数据.

Joh*_*ers 18

通常,只有在可以实际处理的情况下才能捕获异常.

除了记录异常之外没有任何目的捕获异常是没有意义的.例外情况是应该在"顶级"捕获异常,以便记录它.所有其他代码应允许异常传播到将记录它们的代码.

  • 我认为捕获异常以产生有用的日志记录,比初始抛出有更多的上下文,有时可能很有用。之后,如果您无法处理异常,请重新抛出它。 (2认同)