'''print('step0')
try:
print('step1')
a = 3/0
print('step2')
except baseException as e:
print('step3')
print('e')
print(type(e))
print('end!!!')'''
while True:
x = int(input('请输入一个数字'))
print('输入数字:',x)
if x==88:
print('退出程序')
break
while True:
try:
x = int(input('请输入一个数字'))
print('输入数字:',x)
if x==88:
print('退出程序')
break
except baseException as e:
print(e)
print('异常,输入的不是一个数字')
# 测试try...多个except结构
try:
a = input('请输入一个被除数')
b = input('请输入一个除数')
c = float(a)/float(b)
print(c)
except ZeroDivisionError:
print('异常,不能除以0')
except ValueError:
print('异常,不能将字符串转化成数字')
except NameError:
print('异常,变量不存在')
except baseException as e:
print(e)
try:
a = input('请输入一个被除数')
b = input('请输入一个除数')
c= float(a)/(b)
except baseException as e:
print(e)
else:
print(c)
finally:
print('我是finall中的语句,无论发生异常与否,都执行!')
print('程序结束!')
# 测试finally
f = open('d:/a.txt','r')
content = f.readline()
print(content)
f.close()
with open('d:/a.txt','r')as f:
content = f.readline()
print(content)
print('程序执行结束')
# 测试trackback模块
import traceback
try:
print('step1')
num = 1/0
except:
traceback.print_exc()
########异常信息输出到指定文件################
try:
print('step1')
num = 1/0
except:
with open ('d:/a.txt','a')as f:
traceback.print_exc(file=f)
# 测试自定义异常
class AgeError(Exception): # 继承Exception
def __init__(self,errorInfo):
Exception.__init__(self)
self.errorInfo = errorInfo
def __str__(self):
return "年龄错诶!"
#################测试代码#####################
if __name__=='__main__': # 如果为Ture,则模块是作为独立文件运行,可以执行测试代码
age = int(input("输入一个年龄:"))
if age<1 or age>150:
raise AgeError(age)
else:
print('正常年龄:',age)