我正在开发一个来自科学背景的Pyside/Qt应用程序。 Pyside的try/catch错误的最佳做法是什么?例如,如果有几个QCheckBox,如果没有选中任何一个框,处理错误的最佳方法是什么?使用Pyside/Qt推荐的错误处理(try/catch或exceptions)
谢谢
编辑:谢谢你的意见。我正在考虑在考虑用户输入时代码中最好的方法。举个例子:
if self.main_frame.LRadioButton.isChecked():
if self.main_frame.RadioButton2.isChecked():
print 'clicked'
else:
print 'no button selected!'
elif self.main_frame.TRadioButton.isChecked():
if self.main_frame.RadioButton3.isChecked():
print 'clicked'
else:
print 'No button selected!'
else:
print 'no button selected, top level'
因此,有可能用户会尝试做进一步的动作,而无需由程序给出的可能性至少一个选择。应该做些什么来处理“无按钮选择”部分?抛出异常?用手抓住所有事件?
希望现在很清楚。
再次感谢!
的问题是过于宽泛,而且我不知道对方的问题。 – 2012-03-07 19:42:41
是的,问题很广泛。让我试着重新修改它:如果用户输入导致一个nan,应用程序是否会崩溃并刻录,让操作系统处理它,或者使用try/catch之类的东西?如果是后者,Pyside/Qt的适当行为是什么?我应该自己检查nan/inf/etc的所有用户输入吗? – Ivan 2012-03-07 20:07:15
这个问题仍然非常广泛,首先,这听起来像是一个你应该问自己的问题。如果用户输入'nan'或'inf'输入,应用程序应该做什么? 'math.isnan'和'math.isinf'函数可能派上用场。确保你编辑你的问题以更新信息。评论不会让你的问题重演。 – Darthfett 2012-03-07 20:15:05