概述
目录
try...except...
常见的异常
try...except...else
try...except...finally
raise
try...except...
>>> open("abc.txt", 'r')
Traceback (most recent call last):
File "<pyshell#133>", line 1, in <module>
open("abc.txt", 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'abc.txt'
报FileNotFoundError异常
捕获异常:
try:
open("abc.txt", 'r')
except FileNotFoundError:
print("找不到文件")
明确异常类型,再捕获异常,异常类型错误还是会报错
try: open("abc.txt", 'r') print(a) except FileNotFoundError: print("异常异常") | try: open("abc.txt", 'r') print(a) except NameError: print("异常异常") |
左边不报错 右边报异常FileNotFoundError |
所有异常都有一个基类BaseException,可以接收所有类型的异常
try:
open("abc.txt", 'r')
print(a)
except BaseException as msg:
print(msg)
常见的异常
BaseException 新的所有异常类的基类(Pyhon 2.5版本以后)
Exception 所有异常类的基类,但继承自BaseException
AssertionError assert语句失败
FileNotFoundError 试图打开一个不存在的文件或目录
AttributeError 试图访问的对象没有属性
OSError 当系统函数返回一个系统相关的错误(包括I/O故障),如找不到文件 或磁盘已满时,引发此异常
NameError 使用一个未赋值对象的变量
IndexError 当一个序列超出范围时引发此异常
SyntaxError 当解析器遇到一个语法错误时引发此异常
KeyboardInterrupt 组合键Ctrl + C被按下,程序被强行终止
TypeError 传入的对象类型与要求不符
try...except...else
# 没有异常时执行else语句的内容
try:
a = "异常测试:"
print(b)
except NameError as msg:
print(msg)
else:
print("没有异常时执行")
try...except...finally
# 不管是否有异常,都执行finally语句的内容
try:
a = "异常测试:"
print(b)
except NameError as msg:
print(msg)
finally:
print("不管是否出现异常,都会被执行")
raise
抛出一个异常信息。只能使用Python提供的异常类,如果想要用raise使用自定义异常类,则自定义异常类需要继承Exception类
def say_hello(name = None):
if name is None:
raise NameError('"name" cannot be empty')
else:
print("hello, " + name)
say_hello("haha")
#say_hello()
def say_hi(name = None):
print("hello, " + name)
say_hi()
摘自《Selenium3自动化测试实战,基于Python语言》
最后
以上就是漂亮冬日为你收集整理的异常 excepttry...except...常见的异常try...except...else try...except...finally raise的全部内容,希望文章能够帮你解决异常 excepttry...except...常见的异常try...except...else try...except...finally raise所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复