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

     

    常见python异常:

    复制代码
     1 AttributeError             试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x
     2 IOError                 输入\输出异常,基本上是无法打开文件
     3 ImportError              无法引入模块或包,基本上是路径问题或名称错误
     4 IndentationError          语法错误(的子类);代码没有正确对齐
     5 IndexError               下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
     6 KeyError                试图访问字典里不存在的键
     7 KeyboardInterrupt         Ctrl+C被按下
     8 NameError               使用一个还未被赋予对象的变量
     9 SyntaxError              Python代码非法,代码不能编译(语法错误)
    10 TypeError               传入对象类型与要求的不符合
    11 ValueError              传入一个调用者不期望的值,即使值得类型是正确的
    12 UnboundLocalError        试图访问一个还未被设置的局部变量,基本上是由于另有一个名的全局变量,导致你以为正在访问他.
    复制代码

    Exception as e: 捕获全部类型的错误

    Python异常捕捉

    try:

      print x

    except NameErrot:

      print "Something is Wrong!!!"

    #############################################################################

    循环 print 100次,如果中间按Crtl+C,仍然执行.

    #!/usr/bin/env python

    import time

    for i in range(1,101):

      try:   

        print "Number %s" %i   

        time.sleep(0.5)                #休眠0.5秒

      except  KeyboardInterrupt:   

        print "Please do not interupt me,I an doing the importtant task here!"   

        continue

    ############################################################################################

    3 手动触发异常:

    try:

      raise MyException   

    except MyException:

      print "encoutered"

    Try ......finally

    Finally----无论try块是否抛出异常,永远执行的代码。通常用来执行关闭文件,断开服务器连接功能等等.

  • 相关阅读:
    EasyNetQ使用(三)【Publish与Subcribe】
    EasyNetQ使用(二)【连接RabbitMQ,SSL连接,Logging】
    EasyNetQ使用(一)【介绍】
    .net core使用EasyNetQ做EventBus
    .NET Core微服务之开源项目CAP的初步使用
    CAP 介绍及使用【视频】
    .NET Core 事件总线,分布式事务解决方案:CAP
    微服务中的异步消息通讯
    使用 Metrics.net + influxdb + grafana 搭建项目自动化监控和预警方案
    编写高效的jQuery代码
  • 原文地址:https://www.cnblogs.com/onesea/p/15459113.html
Copyright © 2011-2022 走看看