Python 异常

Posted 少年_不识愁滋味

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 异常相关的知识,希望对你有一定的参考价值。

异常

    try:
        code
    except(Error1, Error2) as e:
        print e

    except Exception: 抓住所有错误,不建议用

 

常用异常

AttributeError         试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
IOError                输入/输出异常;基本上是无法打开文件
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

 

异常处理

try:
    # names[3]
    # data[‘name‘]
    # open("tes.txt")
    a = 1
    print(a)
except KeyError as e:
    print("没有这个key", e)
except IndexError as e:
    print("列表操作错误", e)
except Exception as e:
    print("未知错误")

# except (KeyError, IndexError) as e:
#     print("error")

# except Exception as e: # 抓住所有错误
#     print("error", e)

else:
    print("一切正常")
finally:
    print("不管有没有错都执行")

 

自定义异常

class WllException(Exception):
    def __init__(self, msg):
        self.message = msg

    # def __str__(self):
    #     return self.message

try:
    raise WllException(异常信息)
except WllException as e:
    print(e)

以上是关于Python 异常的主要内容,如果未能解决你的问题,请参考以下文章

片段中的Android致命异常

mvn命令异常:An error has occurred in Javadoc report generation: Unable to find javadoc command异常已解决(代码片段

mvn命令异常:An error has occurred in Javadoc report generation: Unable to find javadoc command异常已解决(代码片段

springcloud报错-------关于 hystrix 的异常 FallbackDefinitionException:fallback method wasn't found(代码片段

片段中的getView()导致抛出异常,不确定原因

片段中的 EditText 上的空指针异常 [重复]