`
pypy
  • 浏览: 92454 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

python异常捕获try except

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

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

1. try...except
tommy@lab3:~$ python
Python 2.5.2 (r252:60911, Jan  4 2009, 17:40:26)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1/0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
>>>
>>> try:
...     1/0
... except:
...     print "do something..."
...
do something...
>>>


2. try...finally

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

>>> try:
...     1/0
... finally:
...     print "I just finally do something ,eg: clear!"
...
I just finally do something ,eg: clear!
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
ZeroDivisionError: integer division or modulo by zero
>>>


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

>>> try:
...     fd=open("have-exists-file", "r")
...     print "do some thing ,read file ,write file..."
... finally:
...     fd.close()
...
do some thing ,read file ,write file...
>>>


多线程中,对锁的使用

tommy@lab3:~$ python
Python 2.5.2 (r252:60911, Jan  4 2009, 17:40:26)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import threading
>>> l_lock=threading.RLock()
>>> try:
...     l_lock.acquire()
...     print "do some thing."
... finally:
...     l_lock.release()
...
True
do some thing.
>>>



注意,finally中,如果出现异常,外部如果没有相应的捕获机制,该异常会层层抛出,直到最顶端,然后解释器停止
一般我们会这样做
>>> try:
...     try:
...         fd=open("no-exists-file", "r")
...         print "do some thing ,read file ,write file..."
...     finally:
...         fd.close()
...except:
...    print "catch finally exception."
do some thing ,read file ,write file...
>>>


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

import traceback
import sys
def trace_back():
    try:
        return traceback.format_exc()
    except:
        return ''


具体使用

try:
    do_something()
except:
    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