异常处理
什么是异常
异常︰异常指的是软件在运行的过程中,因为一些原因(如:使用者操作不当等),
引起程序错误,导致软件奔溃的这种现象,就叫做异常
注意:异常并不等价于错误,错误是致命的,软件不能接受的错误
异常处理的主要目的:提高软件的容错性。代码能够继续向后运行,而不会奔溃。
python处理异常
try catch语句块的使用
try … catch语句块来完成,使用try抓捕异常。
try:
#将有可能触发异常的代码
except:
print("处理异常")
常见的异常
ValueError、KeyError、KeyboardInterrupt、ArithmeticError、
FloatingPointError、IndexError、SyntaxError …
异常的继承关系
BaseException
|
Exception
|
常见异常
异常处理的基本语法
基本语法∶
try:
可能出现异常的代码
except<异常名称>:
一旦出现异常执行的代码
else:
没有异常时执行的代码
finally:
不论是否有异常都会执行的代码
不捕获具体异常
try:
可能出现异常的代码
except:
出现异常之后要执行的代码
捕获具体异常
try:
可能出现异常的代码
except Exception as e:
出现异常之后执行的代码
finally关键字
try:
可能出现异常的代码
except<异常名称>:
一旦出现异常执行的代码
else:
没有异常时执行的代码
finally:
不论是否有异常都会执行的代码
自定义异常的使用(raise关键字的使用)
人为的抛出异常:
class MyException(Exception):
def __init__(self, msg):
Exception.__init__(self, msg)
def login(username, password):
if username is None or username.strip() == "":
# 抛出异常,使用raise关键字抛出异常
raise MyException("对不起,用户名称不能为空")
if password is None or password.strip() == "":
raise Exception("对不起,与密码不能为空")
if __name__ == '__main__':
try:
login(None, None)
except Exception as e:
print("抓捕到异常,信息是:", e)