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
  • 相关阅读:
    利用pyautogui自动化领取dnf的在线养竹活动的竹子
    idea2019.3版本的安装
    二叉树文本分析
    表达式树的创建
    24点游戏
    二叉树
    队列操作
    HuffmanTree
    两数之和
    面向对象Python
  • 原文地址:https://www.cnblogs.com/biu-py/p/11221313.html
Copyright © 2011-2022 走看看