-
Notifications
You must be signed in to change notification settings - Fork 0
/
trydemo.py
66 lines (57 loc) · 2.03 KB
/
trydemo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import tkinter as tk
class TryDemo(tk.Frame):
def __init__(self, master=None):
tk.Frame.__init__(self, master)
self.grid()
self.createWidgets()
def createWidgets(self):
self.winfo_toplevel().title("計算測試")
self.button1 = tk.Button(self)
self.button1["text"] = "測試1/0"
self.button1["width"] = 15
self.button1["command"] = self.testing1
self.button1.grid(row=0, column=0, sticky=tk.N+tk.W)
self.button2 = tk.Button(self)
self.button2["text"] = "測試1/1"
self.button2["width"] = 15
self.button2["command"] = self.testing2
self.button2.grid(row=0, column=1, sticky=tk.N+tk.W)
self.result = tk.Label(self)
self.result["text"] = "結果是..."
self.result["width"] = 30
self.result.grid(row=1, column=0, columnspan=2, sticky=tk.N+tk.W)
def testing1(self):
self.result["text"] = "結果是"
try:
r = 1 / 0
self.result["text"] += str(r) + "。"
except ZeroDivisionError:
self.result["text"] += "除數不能為0!"
except:
self.result["text"] += "發生其他錯誤!"
else:
self.result["text"] += "錯誤沒有發生!"
finally:
self.result["text"] += "測試結束。"
def testing2(self):
self.result["text"] = "結果是"
try:
r = 1 / 1
self.result["text"] += str(r) + "。"
except ZeroDivisionError:
self.result["text"] += "除數不能為0!"
except:
self.result["text"] += "發生其他錯誤!"
else:
self.result["text"] += "錯誤沒有發生!"
finally:
self.result["text"] += "測試結束。"
if __name__ == '__main__':
root = tk.Tk()
app = TryDemo(master=root)
app.mainloop()
#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:trydemo.py
# 功能:示範 try-except-finally-else 陳述
# 作者:張凱慶