• 异常处理


    异常处理的基本格式

    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
  • 相关阅读:
    暴雪HASH算法(转)
    实现的一些内存辅助操作函数
    仿SGI STL的traits技法
    c++实现kd树
    利用libpcap打印ip包
    在使用cognos时遇到的问题记录帖
    DW,DM,ODS的区别
    解决问题的8种职业能力
    ASP.NET网站怎么发布 Web项目程序怎么发布部署(暂时收藏)
    关于IIS和.NET 4.0的问题总结(转)
  • 原文地址:https://www.cnblogs.com/biu-py/p/11221313.html
Copyright © 2020-2023  润新知