我是靠谱客的博主 漂亮冬日,最近开发中收集的这篇文章主要介绍异常 excepttry...except...常见的异常try...except...else try...except...finally raise,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部