我注意到一些Exceptions
通常被主代碼except:
捕捉到,在這段代碼的末尾,其他一些沒有(1/0
在OnButton
)。爲什麼?簡單的GUI應用程序中有多少個線程?
這是否說明OnButton(self, evt)
是在另一個線程中啓動的?
使用wxPython在一個簡單的GUI應用程序中涉及多少個線程?
import wx
class MyFrame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, title="Test", size=(300, 300))
MyPanel(self)
class MyPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
button = wx.Button(self, wx.ID_ANY, "Test")
self.Bind(wx.EVT_BUTTON, self.OnButton)
#1/0 here this line would be handled by the try/except below
def OnButton(self, evt):
1/0 # when you click on button, why isn't this handled by the exception hanlder?
try:
app = wx.App(False)
MyFrame(None).Show()
app.MainLoop()
except Exception, e:
print 'Hello' + type(e).__name__
偉大的問題。這是非常直觀的,它是如何工作的,我發現當我開始輸入我認爲是的答案時,我無法清楚地描述它,所以我意識到我也完全不理解它。我想你知道你可以用sys.excepthook捕獲onButton異常,但這不是你問的,我知道。 – GreenAsJade