当前位置:   article > 正文

try-except-else

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



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/952808
推荐阅读
相关标签
  

闽ICP备14008679号