zoukankan      html  css  js  c++  java
  • Python基础-异常

     
    try:
        #code
    except SomeError1 as e:
        #code
        print(e)
    except SomeError2 as e:
        #code
        print(e)
    else:
        #code 没出错的时候执行
    finally:
        #code 不管有没有错都会执行
    也可以这样写:
    try:
        #code
    except (SomeError1,SomeError2) as e:
        #code
    所以异常类都继承自Exception,一般放在最后来抓取未知错误
    常见错误类型:
    • AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
    • IOError 输入/输出异常;基本上是无法打开文件(python3.x中改为FileNotFindException)
    • ImportError 无法引入模块或包;基本上是路径问题或名称错误
    • IndentationError 语法错误(的子类) ;代码没有正确对齐
    • IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
    • KeyError 试图访问字典里不存在的键
    • KeyboardInterrupt Ctrl+C被按下
    • NameError 使用一个还未被赋予对象的变量
    • SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
    • TypeError 传入对象类型与要求的不符合
    • UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它
    • ValueError 传入一个调用者不期望的值,即使值的类型是正确的
    其他异常:
    • ArithmeticError
    • AssertionError
    • AttributeError
    • BaseException
    • BufferError
    • BytesWarning
    • DeprecationWarning
    • EnvironmentError
    • EOFError
    • Exception
    • FloatingPointError
    • FutureWarning
    • GeneratorExit
    • ImportError
    • ImportWarning
    • IndentationError
    • IndexError
    • IOError
    • KeyboardInterrupt
    • KeyError
    • LookupError
    • MemoryError
    • NameError
    • NotImplementedError
    • OSError
    • OverflowError
    • PendingDeprecationWarning
    • ReferenceError
    • RuntimeError
    • RuntimeWarning
    • StandardError
    • StopIteration
    • SyntaxError
    • SyntaxWarning
    • SystemError
    • SystemExit
    • TabError
    • TypeError
    • UnboundLocalError
    • UnicodeDecodeError
    • UnicodeEncodeError
    • UnicodeError
    • UnicodeTranslateError
    • UnicodeWarning
    • UserWarning
    • ValueError
    • Warning
    • ZeroDivisionError
    自定义异常:
    class MyException(Exception):
        def __init__(self,msg):
            self.message = msg
        def __str__(self):
            return self.message
    抛出异常:
        使用关键字raise抛出异常
    try:
        if xxx:
            raise MyException("xxx")
    except MyException as e:
        print(e)
     
     
  • 相关阅读:
    Docker——WIN7 安装 Docker实战与入门
    TensorFlow——dropout和正则化的相关方法
    TensorFlow——学习率衰减的使用方法
    TensorFlow——MNIST手写数据集
    TensorFlow——分布式的TensorFlow运行环境
    类加载器
    死亡的对象
    spring boot整合kafka
    Java验证手机号
    类生命周期
  • 原文地址:https://www.cnblogs.com/chiang97912/p/7233526.html
Copyright © 2011-2022 走看看