try-except-else

所有的异常都继承谁?
所有的异常都继承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 strftime


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
     主动抛出异常 



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值