try:
print(a) #如果这句话有错,就会捕获到异常
except ValueError: #NameError 异常,不匹配所以不执行
print('变量未定义')
except NameError: #对NameError异常的处理
print('变量未定义') #输出为 变量未定义
#捕获异常的具体信息
try:
print(b) #如果这句话有错,就会捕获到异常
except NameError as error:
print(error) #打印具体的异常信息 输出为 name 'b' is not defined
#包含多个异常,只要检测到一个错误,异常检测就不再运行
try:
#print(c)
files = open('异常实验1.txt','r',encoding= 'utf-8') #如果这句话有错,就会捕获到异常
except (NameError,FileNotFoundError) as error: #通过元组放入多个异常类型
print(error) #输出为 [Errno 2] No such file or directory: '异常实验1.txt'
#所有异常
try:
print(d)
files = open('异常实验.txt','r',encoding= 'utf-8') #如果这句话有错,就会捕获到异常
except Exception as error:
print(error) #输出为 name 'd' is not defined
'''
esle:没有异常时要执行的语句
'''
try:
files = open('异常实验.txt','r',encoding= 'utf-8') #如果这句话有错,就会捕获到异常
except Exception as error: #有异常时执行
print(error)
else: #没有异常时执行
print('没什么问题') #输出为 没什么问题
'''
finally:不管有没有异常都会执行的代码块
'''
try:
print('打开文件!') #输出为 打开文件!
files = open('异常实验.txt','w',encoding='utf-8')
try:
files.write('测试一下行不行')
except:
print('写入失败') #没有执行,代表写入成功
else:
print('写入成功') #输出为 写入成功
finally: #不管有没有异常都要执行的代码块
print('关闭文件') #输出为 关闭文件
files.close()
except Exception as error:
print(error) #没有执行,第一个try里的代码正确
try:
num1 = int(input('请输入第一个数字:'))
num2 = int(input('请输入第二个数字:'))
except ValueError:
print('输入类型有误,请输入数字')
else:
print(num1+num2)