`
swingfly
  • 浏览: 52617 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Python中的异常处理

阅读更多

      与许多面向对象一样,python具有异常处理,通过使用try...except来处理异常,而通过raise来引发异常。

异常在 Python 中无处不在;实际上在标准 Python 库中的每个模块都使用了它们,并且 Python 自已会在许多不同的情况下引发它们。例如:

  • 使用不存在的字典关键字 将引发 KeyError 异常。
  • 搜索列表中不存在的值 将引发 ValueError 异常。
  • 调用不存在的方法 将引发 AttributeError 异常。
  • 引用不存在的变量 将引发 NameError 异常。
  • 未强制转换就混用数据类型 将引发 TypeError 异常。

        然而,一个异常不一定会引起程序的完全崩溃。当异常引发时,可以被 处理 掉。有时候一个异常实际是因为代码中的 bug (比如使用一个不存在的变量),但是许多时候,一个异常是可以预计的。如果你打开一个文件,它可能不存在。如果你连接一个数据库,它可能不可连接或没有访问所需的正确的安全证书。如果知道一行代码可能会引发异常,你应该使用一个 try...except 块来处理异常。下面是一个异常处理的例子:

 

try:
    fsock = open("/notthere")       
except IOError:                     
        print "The file does not exist, exiting gracefully"
print "This line will always print" 

    除了处理实际的错误条件之外,对于异常还有许多其它的用处。在标准 Python 库中一个普通的用法就是试着导入一个模块,然后检查是否它能使用。导入一个并不存在的模块将引发一个 ImportError 异常。可以使用这种方法来定义多级别的功能,依靠在运行时哪个模块是有效的,或支持多种平台 (即平台特定代码被分离到不同的模块中)。例如:

 

  try:
      import termios, TERMIOS                     
  except ImportError:
      try:
          import msvcrt                           
      except ImportError:
          try:
              from EasyDialogs import AskPassword 
          except ImportError:
              getpass = default_getpass           
          else:                                   
              getpass = AskPassword
      else:
          getpass = win_getpass
   else:
      getpass = unix_getpass
   要是想了解更多的关于异常处理的东西,可以阅读 Python Library Reference。
分享到:
评论

相关推荐

    python——异常处理

    刚开始学习python很不容易理解,python在线教学中异常处理

    python的异常处理.rar

    python的异常处理,异常捕获,try:except:else:finally:

    精品课件-Python常见异常处理.pptx

    Python常见异常处理 精品课件----Python常见异常处理全文共71页,当前为第1页。 理解 掌握 掌握 掌握 学习目标 理解异常的概念 1 2 掌握处理异常的几种方式 掌握raise和assert语句,会抛出自定义的异常 3 4 掌握with...

    Python-异常处理-教学设计.docx

    已学习Python语句的顺序结构和条件分支结构和循环结构,一般程序都可编写,可以学习异常处理这个概念,来对程序编写过程中遇到的问题进行处理,并提高编程技能。 不足之处是对前面所学的知识掌握不够扎实。下图是对...

    关于Python中异常(Exception)的汇总

    python中的异常使用继承结构创建,可以在异常处理程序中捕获基类异常,也可以捕获各种子类异常,python中使用try…except语句捕获异常,异常子句定义在try子句后面。 Python中的异常处理 异常处理的语句结构 try:...

    Python 1 异常处理.doc

    Python 异常处理

    Python异常处理(课件)

    简单介绍Python中的错误和异常,重点介绍Python中的异常处理机制,包括主要的关键字:try、except、finally、else等,以及它们组合使用时程序执行的流程等,非常适合高校老师教学和学生课后复习使用。

    python异常处理.html

    什么是异常处理?什么情况下会发生异常?了解常见异常类,异常处理的语句,try ... except,多个except语句和一个except块

    谷歌COLAB中的Python概念化

    为了满足这一需要,第8章介绍了Python中异常处理的突出特点。第9章介绍了通过文件处理的数据持久性。由于正则表达式在模式匹配中的广泛应用,第10章将完全用于理解Python中的正则表达式。第11章总结了

    Python语言基础:异常处理.pptx

    异常处理 1. try....except结构 语法格式: try: try语句块 #被监控的语句 except内建异常类名: except语句块 #处理异常的语句 异常处理 实例:使用try....except结构编写异常处理的程序,并输出结果。 具体实现: ...

    Python异常处理机制结构实例解析

    首先,Python 完整的异常处理语法结构如下: try: #业务实现代码 except Exception1 as e: #异常处理块1 ... except Exception2 as e: #异常处理块2 ... #可以有多个 except ... else: #正常处理块 finally :...

    python3 与python2 异常处理的区别与联系

    在python2.x中 ,异常是这样的处理的,异常基类后面加一个逗号“ ,” 然后跟着异常类型 import traceback try: 1/0 except Exception , err: print err 在python3.x中,异常是这样处理的,基类通过关键 词”...

    Python异常处理函数和模块学习教案.pptx

    Python异常处理函数和模块学习教案.pptx

    13.1 Python中异常的捕获与处理.mp4

    13.1 Python中异常的捕获与处理.mp4

    Python中的异常处理.xmind

    把可能出现问题的代码,放在try中 把处理异常的代码,放在except中 把必须要执行的代码,放在finally 》》 例如关闭文件流操作

    jmu-python-字符串异常处理.txt

    jmu-python-字符串异常处理.txt

    Python 中常见的异常问题处理

    本文档内容主要探讨 Python 中的异常处理。我们将讨论 try/except,除此之外,我们将学习如何定义自己的 python 异常。 使用 try/except 处理异常 使用 try/except 处理多个异常 try/except 中的 raise 关键字 ...

    python实现拉依达准则处理异常数据

    首先本项目的数据来源于参加的数学建模比赛官方C题提供的相关数据,由于在进行建模和数据分析时,发现预处理的数据存在随机异常性、离散性等不利于模型分析的性质,所以使用了拉依达准则对数据进行处理,而python的...

    Python语言基础:异常.pptx

    如果这些错误得不到正确的处理将会导致程序终止运行,所以本结需要学习Python强大的异常处理机制,合理地使用异常处理可以使程序更加健壮,具有更强的容错性,不会因为错误地输入或运行时遇到的问题而造成程序终止。...

    Python 异常处理、异常名称及实例.docx

    Python 异常处理、异常名称及实例

Global site tag (gtag.js) - Google Analytics