gpt4 book ai didi

exception - 编写自定义异常类时应该考虑哪些因素?

转载 作者:行者123 更新时间:2023-12-04 13:25:34 25 4
gpt4 key购买 nike

什么时候自定义异常类 最有值(value)?
是否存在应该或不应该使用它们的情况?有什么好处?

相关问题:

  • Performace Considerations for throwing Exceptions
  • Do you write exceptions for specific issues or general exceptions?
  • 最佳答案

    要问自己的问题:

  • 谁会捕获它?如果没有,那么你真的不需要自定义异常。
  • 你会把它扔到哪里去?是否有足够的上下文可用,或者您是否需要在异常对最终捕获器有用之前捕获并重新抛出几次?
  • 你为什么要扔?因为您捕获了异常并需要附加其他信息?因为您在某些数据中遇到了不可恢复的错误,并且需要将细节传达回客户端代码?因为喜欢throw东西?
  • 什么是异常(exception)?不是什么导致它,而是它是什么从捕手的角度来看 ?他们可以修复并重试的东西?他们永远不应该重试的事情?他们应该通知用户什么?他们应该附加上下文信息然后重新抛出的东西?什么决定了您需要传递的信息(如果有)...

  • 戒律:
  • 不要在永远不会被捕获的自定义异常上浪费时间。
  • 不要“加倍”异常:每个自定义异常类型都应该有一个明确定义的案例,它可以并且应该被捕获;不匹配的异常应该分解为它们自己的自定义类型(而不是强制捕获器将条件逻辑构建到单个 catch() 子句中)。
  • 除非您有充分的理由不这样做,否则始终允许附加来自先前捕获的异常的内部异常/数据。失去上下文很少有帮助。
  • 关于exception - 编写自定义异常类时应该考虑哪些因素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/195834/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com