所有的异常都继承谁?
所有的异常都继承BaseExceptin,如果不知道要抛什么异常,就写BaseException
--------------------------------------------------------------------------------------------
由于BaseException不会准确的报错,所以在后面增加一变量,收集错误信息并打印:
try:
xxxx
exctpt BaseException,msg:
print msg
---------------------------------------------------------------------------------------------
常见的异常种类
BaseException:所有异常类的基类
Exception:所以异常类的积累,基于BaseException
AssertionError:assert语句失败
AttributeError:试图访问一个对象没有属性
IOError:输入输出异常,是打开一个不存在的文件时引起
NameError:使用了未赋值的变量
IndexError:在使用中不存在的所引进并发
IndentationError:语法错误,代码没有对对齐
KeyboardInterrupt:Ctrl+C被按下,程序被强制终止
TypeError:传入的对象类型与要求不符
SyntaxError:逻辑错误,不能执行
------------------------------------------------------------------------------------------
try....except....else 和try....finall的不同:
except只有在出错的时候才会被执行
finally不管程序是否出错都会被执行,finally....raise可添加raise进行跑出异常
-------------------------------------------------------------------------------------------
try:
browser = webdriver.Firefox()
browser.set_window_size(1200, 900)
url = "https://www.baidu.com"
browser.get(url)
except 'error':
s = str(strftime('%Y-%m-%d %H%M%S'))
img = 'D:\\img\\' + s + '.jpg'
print(img)
browser.save_screenshot(img)
finally:
browser.close()
try:
检测返回
except OSError as reason: ##as reason 返回错误原因 OSError是文件出错
出现异常后的处理
except TypeError as reason: ##类型出错
finally:
成功或执行都会被执行的代码
raise语句:主动抛出异常。
使用try,except,else语句:
try:
1+1
raise IOError
except:TypeError:
类型错误
except:IOError
IO异常
else:
没有发生异常执行
finally
最后一定要执行。
------------------------------------------------------------------
try
主体代码
except
捕获异常
else
没有异常执行
finally
一定被执行
raise
主动抛出异常
所有的异常都继承BaseExceptin,如果不知道要抛什么异常,就写BaseException
--------------------------------------------------------------------------------------------
由于BaseException不会准确的报错,所以在后面增加一变量,收集错误信息并打印:
try:
xxxx
exctpt BaseException,msg:
print msg
---------------------------------------------------------------------------------------------
常见的异常种类
BaseException:所有异常类的基类
Exception:所以异常类的积累,基于BaseException
AssertionError:assert语句失败
AttributeError:试图访问一个对象没有属性
IOError:输入输出异常,是打开一个不存在的文件时引起
NameError:使用了未赋值的变量
IndexError:在使用中不存在的所引进并发
IndentationError:语法错误,代码没有对对齐
KeyboardInterrupt:Ctrl+C被按下,程序被强制终止
TypeError:传入的对象类型与要求不符
SyntaxError:逻辑错误,不能执行
------------------------------------------------------------------------------------------
try....except....else 和try....finall的不同:
except只有在出错的时候才会被执行
finally不管程序是否出错都会被执行,finally....raise可添加raise进行跑出异常
-------------------------------------------------------------------------------------------
from selenium import webdriver
from time import strftimetry:
browser = webdriver.Firefox()
browser.set_window_size(1200, 900)
url = "https://www.baidu.com"
browser.get(url)
except 'error':
s = str(strftime('%Y-%m-%d %H%M%S'))
img = 'D:\\img\\' + s + '.jpg'
print(img)
browser.save_screenshot(img)
finally:
browser.close()
try:
检测返回
except OSError as reason: ##as reason 返回错误原因 OSError是文件出错
出现异常后的处理
except TypeError as reason: ##类型出错
finally:
成功或执行都会被执行的代码
raise语句:主动抛出异常。
使用try,except,else语句:
try:
1+1
raise IOError
except:TypeError:
类型错误
except:IOError
IO异常
else:
没有发生异常执行
finally
最后一定要执行。
------------------------------------------------------------------
try
主体代码
except
捕获异常
else
没有异常执行
finally
一定被执行
raise
主动抛出异常