-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathException.py
93 lines (81 loc) · 3.88 KB
/
Exception.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#####################################################################################################################
# Below example opens a file, writes content in the, file and comes out gracefully because there is no problem at all
#####################################################################################################################
try:
fh = open("testfile", "w")
fh.write("This is my test file for exception handling!!")
except IOError:
print ("Error: can\'t find file or read data")
else:
print ("Written content in the file successfully")
fh.close()
'''
A single try statement can have multiple except statements.
After the except clause(s), you can include an else-clause.
The code in the else-block executes if the code in the try: block does not raise an exception.
'''
##############################################################################################################
# Below example tries to open a file where you do not have the write permission, so it raises an exception
##############################################################################################################
try:
fh = open("testfile", "r")
fh.write("This is my test file for exception handling!!")
except IOError:
print ("Error: can\'t find file or read data")
else:
print ("Written content in the file successfully")
##############################################################################################################
# Below example tries to catch the nested exceptions
##############################################################################################################
try:
num = int(raw_input("Enter the number "))
re = 100/num
except NameError:
print("Name is not specified")
except ValueError:
print("Value is not int type")
except ZeroDivisionError:
print("Don't use zero")
else:
print("result is ",re)
##############################################################################################################
# Below example tries to catch the multiple exceptions in one go
##############################################################################################################
try:
num = int(raw_input("Enter the number "))
re = 100/num
# An except clause may name multiple exceptions as a parenthesized tuple, for example
except (NameError, ValueError, ZeroDivisionError) as e:
print("Anyone of above exception occured")
else:
print("result is ",re)
###############################################################################################################
#The try-finally Clause
#You can use a finally: block along with a try: block. The finally: block is a place to put any code that must execute,
#whether the try-block raised an exception or not.
###############################################################################################################
try:
fh = open("testfile", "w")
fh.write("This is my test file for exception handling!!")
finally:
print ("Error: can\'t find file or read data")
fh.close()
###############################################################################################################
try:
fh = open("testfile", "w")
try:
fh.write("This is my test file for exception handling!!")
finally:
print ("Going to close the file")
fh.close()
except IOError:
print ("Error: can\'t find file or read data")
###############################################################################################################
# Throw an Exception using raise keyword
###############################################################################################################
def functionName( level ):
if level <1:
raise Exception(level)
# The code below to this would not be executed
# if we raise the exception
return level