`
swingfly
  • 浏览: 53580 次
  • 性别: 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-异常处理-教学设计.docx

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

    python的异常处理.rar

    此外,`try/except`结构也可以嵌套,以便在一个异常处理中包含另一个异常处理,这样可以对不同层次的错误进行更精细的控制。 总之,Python的异常处理机制提供了一种强大的方式来确保程序在遇到问题时不会崩溃,而是...

    Python异常处理(课件)

    常见的Python异常包括IndexError(索引超出范围)、TypeError(操作符或函数应用于不兼容的类型)、KeyError(访问字典中不存在的键)、ValueError(值错误,如将非数字字符串转换为整数)、NameError(使用了未定义...

    python——异常处理

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

    第12章 python文件存取和异常处理-python基础,快速入门.pptx

    在Python中,文件存取是编程中常见的操作,它涉及文件的读取、写入以及异常处理。本章主要讲解了如何使用Python进行文件操作。 1. **文件读取** - 使用`open()`函数打开文件,例如`open('work\readme.txt')`。在...

    python文字异常处理

    python python文字异常处理

    如何在Python中处理异常

    本文将详细介绍Python中的异常处理机制,包括异常的捕获、处理和抛出。 异常处理是编程中一个重要的概念,它允许程序在发生错误时以可控的方式响应,而不是导致程序崩溃。Python提供了一套完整的异常处理机制,使得...

    Python中的异常处理:自定义异常类详解

    自定义异常类是Python异常处理机制的一个重要组成部分。通过定义和使用自定义异常,开发者可以创建更清晰、更具体的错误处理逻辑。本文介绍了如何定义自定义异常类,如何抛出和捕获它们,以及在使用自定义异常时的...

    模拟银行账户系统(Python的异常处理与自定义异常类代码示例)

    **内容概要**:本资源通过创建一个模拟银行账户系统,帮助读者深入了解Python异常处理机制。通过代码示例讲解了异常捕获、`try-except`结构、自定义异常类等高级主题。项目内容包括账户的存款与取款操作,并实现了...

    精通Python异常处理:自定义异常类的定义与实践

    自定义异常类是Python异常处理机制的一个重要组成部分。通过定义自定义异常类,你可以创建更清晰、更易于维护的代码,并提供更详细的错误信息。本文介绍了如何定义自定义异常类,以及如何在程序中使用它们。希望这些...

    Python 1 异常处理.doc

    Python的异常处理是编程中非常重要的一个环节,它允许程序员优雅地处理运行时出现的错误,防止程序因为未预见的问题而崩溃。异常是程序在执行过程中遇到的错误,Python为这些错误定义了一系列的异常类型,形成了一套...

    Python异常处理详解:掌握错误处理的艺术

    本文将详细介绍Python中的异常处理机制,包括异常的捕获、处理、抛出和自定义异常。 异常处理是Python编程中的一个重要概念,它允许程序在遇到错误时优雅地恢复。通过本文的介绍,你应该对如何在Python中捕获、处理...

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

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

    15.python异常处理1

    Python 是一种高级编程语言,它提供了一个强大的异常处理机制,以便开发者能够更好地处理程序中的错误和异常。在 Python 中,异常是一种特殊的对象,它可以在程序执行过程中抛出,以便通知开发者出现了某种错误。 ...

    解析Python中的异常处理

    下面我们将深入探讨Python异常处理的各个方面。 首先,异常是在程序运行过程中发生的错误,例如除以零、类型不匹配或文件未找到等。当这些错误发生时,Python会抛出一个异常对象。如果不进行处理,这个异常会导致...

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

    本篇精品课件详细介绍了Python中的异常处理机制,旨在帮助学习者理解和掌握如何有效地处理程序运行中的异常。 1. **异常简介** - Python中的异常是在执行过程中遇到错误时产生的,如尝试访问未定义的变量(Name...

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

    在编程领域,异常处理是确保程序健壮性的重要机制,特别是在Python这种动态类型的编程语言中。异常处理允许我们在代码执行过程中捕获并处理错误,防止程序因未预期的状况而崩溃。以下是关于Python语言中异常处理的...

    Python异常和错误实践手册 新手必备

    所谓异常处理,就是指程序在出现问题时依然可以正确的执行剩余的程序,而不会因为异常而终止程序执行。 Python 中引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行...

Global site tag (gtag.js) - Google Analytics