我不确定这是否重复,但如果是,请随时关闭它。
背景: 我有一个计时器组件用于我正在编写的支持停止和暂停方法的游戏。有问题的非严重错误情况正在做一些事情,比如在计时器已经暂停时调用 Pause,这不是致命的,但它不会导致方法名称隐含的状态变化
问题:
1. 通常如何指示非致命但异常的情况?
2.在这些情况下我真的应该抛出异常吗?考虑到在暂停时调用 Pause 不会造成任何伤害,我认为这有点过分了
3.我是不是想多了
更新:
根据这里的回复和评论,我选择采取以下策略:
在开发构建中会发生异常,因为我考虑到这些错误并且我想捕获它们并更正它们。我不能在发布版本中证明异常是合理的,因为这些错误不会破坏游戏状态,而且我认为应用程序的用户不会因为我没有正确编码而失去他们辛苦赚来的分数而感到高兴
感谢您的所有回复,这对我很有教育意义。
最佳答案
如果计时器已经暂停,我认为您可以忽略调用。假设该方法被调用 Pause() 那么客户端只需要在方法调用之后暂停计时器,并且只有在不暂停时才应该抛出异常;该方法并不意味着对计时器的当前状态有任何要求。
另一方面,如果该方法被称为 ChangeTimerFromRunningToPaused(),那么这意味着它仅在运行的计时器上调用它才有效。在这些情况下,我希望它会抛出异常,通知客户端计时器未处于处理此方法调用的有效状态。
关于c# - 如何处理非 fatal error 情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/857307/