zoukankan      html  css  js  c++  java
  • 异常处理

    异常处理的基本格式

    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
  • 相关阅读:
    二分查找及各种变体实现 hunter
    限流算法概述 hunter
    第一章 SpringBoot基础入门 hunter
    Java泛型通配符 hunter
    《伯夷列传》的内核:怨是不怨?
    Windows下UAC音频设备调试
    原来你也在这里
    关于生活(2021)
    《史记》精读录
    山水谈
  • 原文地址:https://www.cnblogs.com/biu-py/p/11221313.html
Copyright © 2011-2022 走看看