异常处理 else: try中的代码如果不报错,那么会执行else中的语句。 finally: 不管try中的代码块是否成功,finally中的代码都会执行。
try-except 语句
定义了进行异常监控的一段代码,并且提供了处理异常的机制
try:
a = int(input("a:"))
b = int(input("b:"))
data = a/b
print(data)
except ValueError as e: #
print('print int!',e)
except ZeroDivisionError as e:
print('ZeroDivisionError:',e)
except (KeyboardInterrupt,EOFError): #或者的关系
# Ctrl + C,产生KeyboardInterrupt,用户中断执行
# Ctrl + D, 产生EOFError, 没有内建输入
print('Bye~ Bye~')
exit() #结束程序的执行
except Exception as e: #未知错误
print(e)
else:
print('else ok!')
finally:
print('finally ok~')
print("hello world")
自定义异常
除了 代码执行出错 Python 解释器会 抛出 异常之外,还可以根据 应用程序 特有的业务需求 主动抛出异常
#自定义异常
def login():
pwd = input('输入密码:')
if len(pwd) >=8:
print('密码:',pwd)
else: #如果小于8位,向用户抛出异常
e = Exception('密码长度不足八位')#1、创建异常
raise e #2、抛出异常
if __name__ == '__main__':
login()