首页 > 其他 > 详细

异常处理

时间:2019-07-21 15:46:54      阅读:77      评论:0      收藏:0      [点我收藏+]

异常处理的基本格式

try:
    int(123)
    raise Exception(阿萨大大是阿斯蒂) # 代码中主动抛出异常
except Exception as e:
    print(e)

 

技术分享图片
try:
    v = []
    v[11111] # IndexError
except ValueError as e:
    pass
except IndexError as e:
    pass
except Exception as e:
    print(e) # e是Exception类的对象,中有一个错误信息。
View Code
finally不管报不报错都会执行
技术分享图片
try:
    int(asdf)
except Exception as e:
    print(e) # e是Exception类的对象,中有一个错误信息。
finally:
    print(最后无论对错都会执行)
    
# #################### 特殊情况 #########################
def func():
    try:
        # v = 1
        # return 123
        int(asdf)
    except Exception as e:
        print(e) # e是Exception类的对象,中有一个错误信息。
        return 123
    finally:
        print(最后)

func()
View Code

主动触发异常

try:
    int(123)
    raise Exception(阿萨大大是阿斯蒂) # 代码中主动抛出异常
except Exception as e:
    print(e)

 

例子

技术分享图片
def func():
    result = True
    try:
        with open(x.log,mode=r,encoding=utf-8) as f:
            data = f.read()
        if alex not in data:
            raise Exception()
    except Exception as e:
        result = False
    return result
View Code
自定义异常
class MyException(Exception):
    pass

try:
    raise MyException(asdf)
except MyException as e:
    print(e)
技术分享图片
class MyException(Exception):
    def __init__(self,message):
        super().__init__()
        self.message = message

try:
    raise MyException(asdf)
except MyException as e:
    print(e.message)
View Code

 

异常处理

原文:https://www.cnblogs.com/biu-py/p/11221313.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!