【发布时间】:2014-02-24 20:39:53
【问题描述】:
最近在我拥有的一个项目中,在 python 和 pygame 中,我意识到导致游戏运行时错误的(硬件)问题。所以游戏在运行中停止。我为解决这个问题所做的就是在导致错误的命令上抛出所有异常(这是一个特殊的命令)。
我不知道那是什么类型的错误,所以我认为这是一种“运行时错误”,因此要为运行时错误抛出异常,您需要知道字符串或更好解释器给出的错误信息。所以我避免了这种情况,我只是针对任何类型的错误对命令进行了抛出异常。
在某处我读到这不太好。但是虽然游戏没有用户输入(有用户交互但不是用户输入,意思是用户不输入数字或类似的东西)为什么要冒险并将错误指定为运行时错误,哪个可能不是?
因此,如果您对上述问题有任何想法,我将很高兴得到您的回答,但我的主要问题是:Why is not "a good programming" to throw exception for evreything?
【问题讨论】:
-
这根本不是问题。你到底想回答什么?您是否正在为这种观点收集论据?
-
@frans:我不同意,首先原则上 - 如果你可以有一个有效的问题表明,“为什么捕获所有异常是一个坏主意”,那么为什么它是一个坏主意一个问题,“为什么抛出异常是个坏主意”?其次,这个问题确实有一个明确而客观的答案,因为大多数开发人员会认为没有上下文的异常是噩梦。