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

python异常捕获try except

 
阅读更多

python的异常处理机制设计的比较传统,在日常的开发中,基本满足我的需要

下面就python的异常,几点小小的讨论

1. try...except

Python代码  收藏代码
  1. tommy@lab3:~$ python  
  2. Python 2.5 . 2  (r252: 60911 , Jan   4   2009 17 : 40 : 26 )  
  3. [GCC 4.3 . 2 ] on linux2  
  4. Type "help" "copyright" "credits"   or   "license"   for  more information.  
  5. >>> 1 / 0   
  6. Traceback (most recent call last):  
  7.   File "<stdin>" , line  1 in  <module>  
  8. ZeroDivisionError: integer division or  modulo by zero  
  9. >>>  
  10. >>> try :  
  11. ...     1 / 0   
  12. ... except :  
  13. ...     print   "do something..."   
  14. ...  
  15. do something...  
  16. >>>  



2. try...finally

finally 里面只是执行完成try中的代码后,必须执行的代码,
即使是 try中有异常抛出,也是会去执行finally

Python代码  收藏代码
  1. >>>  try :  
  2. ...     1 / 0   
  3. ... finally :  
  4. ...     print   "I just finally do something ,eg: clear!"   
  5. ...  
  6. I just finally  do something ,eg: clear!  
  7. Traceback (most recent call last):  
  8.   File "<stdin>" , line  2 in  <module>  
  9. ZeroDivisionError: integer division or  modulo by zero  
  10. >>>  



所以,一般情况下,finally里面执行的都是一些清理工作,比如:关闭文件描述符,释放锁等

Python代码  收藏代码
  1. >>>  try :  
  2. ...     fd=open("have-exists-file" "r" )  
  3. ...     print   "do some thing ,read file ,write file..."   
  4. ... finally :  
  5. ...     fd.close()  
  6. ...  
  7. do some thing ,read file ,write file...  
  8. >>>  



多线程中,对锁的使用

Python代码  收藏代码
  1. tommy@lab3:~$ python  
  2. Python 2.5 . 2  (r252: 60911 , Jan   4   2009 17 : 40 : 26 )  
  3. [GCC 4.3 . 2 ] on linux2  
  4. Type "help" "copyright" "credits"   or   "license"   for  more information.  
  5. >>> import  threading  
  6. >>> l_lock=threading.RLock()  
  7. >>> try :  
  8. ...     l_lock.acquire()  
  9. ...     print   "do some thing."   
  10. ... finally :  
  11. ...     l_lock.release()  
  12. ...  
  13. True   
  14. do some thing.  
  15. >>>  




注意,finally中,如果出现异常,外部如果没有相应的捕获机制,该异常会层层抛出,直到最顶端,然后解释器停止
一般我们会这样做

Python代码  收藏代码
  1. >>>  try :  
  2. ...     try :  
  3. ...         fd=open("no-exists-file" "r" )  
  4. ...         print   "do some thing ,read file ,write file..."   
  5. ...     finally :  
  6. ...         fd.close()  
  7. ...except :  
  8. ...    print   "catch finally exception."   
  9. do some thing ,read file ,write file...  
  10. >>>  



3. 封装了一个全局的捕获异常的函数(偶比较懒,就用了全部的捕获异常方法)

Python代码  收藏代码
  1. import  traceback  
  2. import  sys  
  3. def  trace_back():  
  4.     try :  
  5.         return  traceback.print_exc()  
  6.     except :  
  7.         return   ''   



具体使用

Python代码  收藏代码
  1. try :  
  2.     do_something()  
  3. except :  
  4.     print  trace_back()  



写的比较散,主要是想说说,python异常的简单使用,已经封装的一个简单的获得异常发生时,全局保持的异常信息(可能不准确,但基本够用)

分享到:
评论

相关推荐

    python异常处理try except过程解析

    在Python中,异常处理通过`try`、`except`和`finally`关键字实现。下面将详细介绍这些概念以及如何使用它们。 首先,`try`块用于包含可能引发异常的代码。如果在`try`块中的代码抛出一个异常,Python会立即停止执行...

    Python使用try except处理程序异常的三种常用方法分析

    本文将详细介绍Python中使用try-except处理程序异常的三种常用方法,并结合实例深入分析了相关的操作技巧。 首先,我们需要了解Python异常处理的基本结构。基本的异常处理结构包括try、except、else和finally这几个...

    python try except用法介绍

    python try except用法 在Python中,try-except语句用于捕获和处理异常。

    python try except 捕获所有异常的实例

    以上这篇python try except 捕获所有异常的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python中异常捕获方法详解python traceback捕获并打印...

    selenium的try except 捕获异常.docx

    在 Python 中,try-except 机制是一种常用的异常处理方式,它允许开发者捕获并处理异常。基本语法结构如下: ``` try: # 可能引发异常的代码 except 异常类型 as e: # 异常处理代码 ``` 其中,try 块中的代码可能...

    python try except用法详细解读.doc

    Python 的异常处理机制是通过 `try`-`except` 语句来实现的,它允许程序员优雅地处理程序运行过程中可能出现的错误,防止程序因为意外的异常而突然终止,提高程序的稳定性和用户体验。以下是对 `try`-`except` 用法...

    Python try except异常捕获机制原理解析

    ### Python Try Except 异常捕获机制解析 #### 一、引言 在软件开发过程中,尤其是编写较为复杂的脚本或应用程序时,错误处理是非常重要的一个环节。良好的错误处理不仅能够提升程序的健壮性,还能提高用户体验。...

    python try except用法.pdf

    - 如果一个异常没有匹配到当前`except`子句,它将被传递给包含它的外部`try`语句,直到找到匹配的处理程序,或者最终由Python解释器处理。 通过使用`try/except`和相关构造,程序员可以创建更健壮的代码,防止程序...

    对于Python异常处理慎用“except:pass”建议

    翻译自StackOverflow中一个关于Python异常处理的问答。 问题:为什么“except:pass”是一个不好的编程习惯? 我时常在StackOverflow上看到有人评论关于except: pass的使用,他们都提到这是一个不好的Python编程习惯...

    python try except返回异常的信息字符串代码实例

    本文将详细介绍如何使用Python的try...except语句来捕获异常,并从异常对象中获取和返回错误信息字符串。通过具体的代码示例来演示这一过程,这将对学习者和从事Python开发的工程师有实际帮助。 首先,基本的异常...

    Python中的异常处理try/except/finally/raise用法分析

    异常发生在程序执行的过程中,如果python无法正常处理程序就会发生异常,导致整个程序终止执行,python中使用try/except语句可以捕获异常。 try/except 异常的种类有很多,在不确定可能发生的异常类型时可以使用...

    Python try except else(异常处理)用法详解.pdf

    `try-except`语句是Python中用于异常处理的基本构造,它使得我们可以将可能出错的代码段包围起来,确保即使发生错误,程序也能继续执行或者提供有意义的反馈。 `try`块包含可能会引发异常的代码,如果在这段代码中...

    Python中的异常处理详解及try-except语句的工作原理.zip

    本篇文章将深入探讨Python中的异常处理机制以及`try-except`语句的工作原理。 异常是程序在执行过程中遇到的错误或异常情况,如除以零、文件未找到等。Python提供了强大的异常处理机制来捕获和处理这些错误,避免...

    【Python】详解 try-except-else-finally 语句 —— 异常处理完全解读(上)

    二、异常捕获 (Exception catching) 2.1 try-except 语句 2.1.1 基本用法 2.1.2 指定异常类型 2.1.3 小结 2.2 try-except-else 语句 2.3 try-except-else-finally 语句 2.4 小结 三、异常抛出 (Exception ...

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

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

    15.python异常处理1

    except 语句块是 Python 异常处理机制的另一个核心部分,它用于捕获和处理异常。except 语句块可以指定要捕获的异常类型,并提供相应的处理代码。在 except 语句块中,可以使用 as 语句来获取异常对象,然后进行相应...

Global site tag (gtag.js) - Google Analytics