如何在Python中进行异常处理

目录
  • 一、抛出异常和自定义异常
    • 1、raise语句
    • 2、自定义异常类型
  • 二、捕捉异常
    • 1、捕捉多个异常
    • 2、获取异常信息
  • 三、finally子句

一、抛出异常和自定义异常

Python中使用用异常对象(exception object)表示异常情况,当程序运行遇到错误后,就会触发发异常。相信大家在编码是都会遇到这种情况,那么如果异常对象并未被处理或捕捉,程序就会用报错然后终止执行。

1、raise语句

Python中的raise 关键字用于触发发一个异常,和我们熟悉的Java中的throw关键字相同,

如下所示:

>>>    def ThorwErr():
>>>      raise Exception("抛出一个异常")
>>>    # Exception: 抛出一个异常
>>>    ThorwErr()

如上raise关键字后面是抛出是一个通用的异常类型(Exception),但是在实际编码中我们抛出的异常越详细越好。Python在exceptions模块内建了很多的异常类型,我们用dir函数来查看exceptions中都有哪些的异常类型,

如下:

>>>    import exceptions
>>>    print dir(exceptions)

传递异常:

捕捉到了异常,要想重新引发它(传递异常),我们可以使用不带参数的raise语句:

>>>    class MuffledCalculator:
>>>      muffled = False
>>>    def calc(self,expr):
>>>        try:
>>>          return eval(expr)
>>>        except ZeroDivisionError:
>>>          if self.muffled:
>>>            print 'Division by zero is illegal'
>>>          else:
>>>            raise

2、自定义异常类型

Python中我们也可以定义自己的特殊异常类型,只需要继承Exception类即可,这里的继承既可以是直接继承,也可以是间接继承。

>>>    class selfExceptions(Exception):
>>>        pass

二、捕捉异常

java中的try/catch相似,在Python中使用try/except捕捉异常

try:
  print 2/0
except ZeroDivisionError:
  print '除数不能为0'

1、捕捉多个异常

使用except语句时我们只能捕捉其后声明了的那个异常类型,如果代码可能会抛出的是其他类型的异常,这时就需要再增加一个except语句了,

如下:

try:
  print 2/'0'
except ZeroDivisionError:
  print '除数不能为0'
except Exception:
  print '其他类型异常'

为了捕获多个异常,除了声明多个except语句之外,还可以在一个except语句之后将多个异常作为元组列出来即可:

try:
  print 2/'0'
except (ZeroDivisionError,Exception):
  print '发生了一个异常'

2、获取异常信息

每个异常都会有一些异常信息,我们可以把这些异常打印出来查看,便于修改代码:

try:
  print 2/'0'
except (ZeroDivisionError,Exception) as e:
  # unsupported operand type(s) for /: 'int' and 'str'
  print e

三、finally子句

Java中一样,finally不管try子句内部是否有异常发生,都会执行finally子句内的代码。一般使用时,finally常常使用用于关闭文件或者在Socket中。

try:
  print 2/'0'
except (ZeroDivisionError,Exception):
  print '发生了一个异常'
finally:
  print '不管是否发生异常都执行'

到此这篇关于如何在Python中进行异常处理的文章就介绍到这了,更多相关Python中进行异常处理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2022-03-06

python中文件操作与异常的处理图文详解

目录 一. 文件的操作 1.1创建文件 1.2写入数据 1.3读数据 1.4.2读数据 1.5读写数据 1.6删除文件 1.6写入文件 1.7读取图片 1.8备份图片 1.9文件重命名 1.10创建文件夹 1.11获取当前目录 1.12读写二进制文件 二.异常 2.1各种异常的演示 2.2捕捉异常 2.3try/finally 2.4异常的传递 2.5触发异常 2.6自定义异常 总结 一. 文件的操作 1.1创建文件 格式:f = open('文件', 'w')或者f = open('文件',

python异常处理并调试

目录 一.try-except 二.try-except-else 三.try-except-finally 四.处理多个异常 五.raise主动抛出异常 前言: 异常是错误出现时,可以在正常的控制流程之外采取的行为. 一.try-except try:     age = int(input("请输入年龄:"))     if age >= 18:         print("你已成年")     else:         print("你未成

Python中异常处理用法

目录 1.if进行处理,在错误发生之前进行预防 2.用try..except:在错误发生之后进行处理 为了保证程序的健壮性与容错性,即在遇到错误时候程序不会崩溃,我们需要对异常进行处理, 1.if进行处理,在错误发生之前进行预防 如果错误发生的条件是可预知的,我们需要用if进行处理,在错误发生之前进行预防 AGE=10 while True: age=input('>>: ').strip() if age.isdigit(): #只有在age为字符串形式的整数时,下列代码才不会出错,该条件是

python数据分析实战指南之异常值处理

目录 异常值 1.异常值定义 2.异常值处理方式 2.1 均方差 2.2 箱形图 3.实战 3.1 加载数据 3.2 检测异常值数据 3.3 显示异常值的索引位置 总结 异常值 异常值是指样本中的个别值,其数值明显偏离其余的观测值.异常值也称离群点,异常值的分析也称为离群点的分析. 常用的异常值分析方法为3σ原则.箱型图分析.机器学习算法检测,一般情况下对异常值的处理都是删除和修正填补,即默认为异常值对整个项目的作用不大,只有当我们的目的是要求准确找出离群点,并对离群点进行分析时有必要用到机器学

Python常见异常类型处理

目录 1.Python语法错误 2.Python运行时错误 前言: 开发人员在编写程序时,难免会遇到错误,有的是编写人员疏忽造成的语法错误,有的是程序内部隐含逻辑问题造成的数据错误,还有的是程序运行时与系统的规则冲突造成的系统错误,等等. 总的来说,编写程序时遇到的错误可大致分为 2 类,分别为语法错误和运行时错误. 1.Python语法错误 语法错误,也就是解析代码时出现的错误.当代码不符合 Python 语法规则时,Python解释器在解析时就会报出 SyntaxError 语法错误,与此同

Python Pandas读取Excel日期数据的异常处理方法

目录 异常描述 出现原因 解决方案:修改自定义格式 pandas直接解析Excel数值为日期 总结 异常描述 有时我们的Excel有一个调整过自定义格式的日期字段: 当我们用pandas读取时却是这样的效果: 不管如何指定参数都无效. 出现原因 没有使用系统内置的日期单元格格式,自定义格式没有对负数格式进行定义,pandas读取时无法识别出是日期格式,而是读取出单元格实际存储的数值. 解决方案:修改自定义格式 可以修改为系统内置的自定义格式: 或者在自定义格式上补充负数的定义: 增加;@即可 p

详解python文件的操作和异常的处理

目录 一. 文件的操作 1.1创建文件 1.2写入数据 1.3读数据 1.4 2读数据 1.5读写数据 1.6删除文件 1.7写入文件 1.8读取图片 1.9备份图片 1.10文件重命名 1.11创建文件夹 1.11获取当前目录 二.异常 2.1各种异常的演示 2.2捕捉异常 2.3try/finally 2.4异常的传递 2.5触发异常 2.6自定义异常 总结 一. 文件的操作 1.1创建文件 格式:f = open('文件', 'w')或者f = open('文件', 'r') 1.2写入数

 Python错误与异常处理

1. 从键盘输入一个整数,求 100 除以它的商,并显示输出.要求对从键盘输入的数值进行异常处理. try:     n=int(input("请输入一个整数:"))     x=100/n     print(x) except ValueError:     print("异常,请重新输入:") else:         #可选项,必须try-except语句为前提     print("程序正常运行,没有捕捉到异常") 2.编程实现索引超

Python中的错误和异常处理简单操作示例【try-except用法】

本文实例讲述了Python中的错误和异常处理操作.分享给大家供大家参考,具体如下: #coding=utf8 print ''''' 程序编译时会检测语法错误. 当检测到一个错误,解释器会引发一个异常,并显示异常的详细信息. 在代码中添加错误检测及异常处理,只需要将代码封装在try-except语句中. try: try_suite except : except_suite ------------------------------------------------------------

Python 错误和异常代码详解

程序中的错误一般被称为 Bug,无可否认,这几乎总是程序员的错... 程序员的一生,始终伴随着一件事 - 调试(错误检测.异常处理).反反复复,最可怕的是:不仅自己的要改,别人的也要改...一万头草泥马奔腾而过! 错误 程序错误,主要分为三类: 语法错误 逻辑错误 运行时错误 语法错误 语法错误(也称:解析错误):是指不遵循语言的语法结构引起的错误(程序无法正常编译/运行). 在编译语言(例如:C++)中,语法错误只在编译期出现,编译器要求所有的语法都正确,才能正常编译.不过对于直译语言(例如:

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

本文实例分析了Python中的异常处理try/except/finally/raise用法.分享给大家供大家参考,具体如下: 异常发生在程序执行的过程中,如果python无法正常处理程序就会发生异常,导致整个程序终止执行,python中使用try/except语句可以捕获异常. try/except 异常的种类有很多,在不确定可能发生的异常类型时可以使用Exception捕获所有异常: try: pass except Exception, e: print Exception, ":"

新手常见Python错误及异常解决处理方案

写Python代码的小伙伴不可避免地会遇到代码执行错误和异常,这次就来详细且不失通俗地总结一下python中的错误和异常. 先抛出两个问题: 什么是Python错误和异常? 如何处理Python错误和异常? 1.语法错误可能是初学者最常遇到的,如下面熟悉的画面: SyntaxError: invalid syntax语法错误又称解析错误,又有老哥会问什么是解析错误?简单来说是基本语法结构写错了,如:多任务写成一行.for循环没加':'等.如下: 多任务写成一行 for循环没加':' 上面示例可以

PHP中常见的错误与异常处理总结大全

前言 当我们开发程序时,程序出现问题是很常见的,当出现了异常与错误我们该如何处理呢?本文将详细给大家介绍PHP错误与异常处理的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 一.PHP错误处理 1.语法错误 2.运行时错误 3.逻辑错误:不提示错误,但功能不对,最麻烦 4.三种级别:notice/warning/fatal error(无法继续执行) 5.错误报告显示: a.可以在php.ini中修改error_reporting项目,以限定错误报告类型,如:error

Python错误: SyntaxError: Non-ASCII character解决办法

Python错误: SyntaxError: Non-ASCII character解决办法 (1)问题描述 在写Python代码的过程中,有用到需要输出中文的地方,但是运行后发现上述错误.SyntaxError: Non-ASCII character '\xe4' in file ./common.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details  

php错误、异常处理机制(补充)

一.错误处理 异常处理: 意外,是在程序运行过程中发生的意料这外的事,使用异常改变脚本正常流程 PHP5中的一个新的重要特性 复制代码 代码如下: if(){ }else{ } try { }catch(异常对象){ } 1. 如果try中代码没有问题,则将try中代码执行完后就到catch后执行 2. 如果try中代码有异常发生,则抛出一个异常对象(使用throw),抛出给了catch中的参数, 则在try中代码就不会再继续执行下去 直接跳转到catch中去执行, catch中执行完成, 再继

PHP错误和异常处理功能模块示例

本文实例讲述了PHP错误和异常处理功能模块.分享给大家供大家参考,具体如下: 一.错误类型和基本的调试方法 PHP程序的错误发生一般归属于下列三个领域: 语法错误: 语法错误最常见,并且也容易修复.如:代码中遗漏一个分号.这类错误会阻止脚本的执行. 运行时错误: 这种错误一般不会阻止PHP脚本的执行,但会阻止当前要做的事情.输出一条错误,但php脚本继续执行 逻辑错误: 这种错误最麻烦,既不阻止脚本执行,也不输出错误消息. 一个异常则是在一个程序执行过程中出现的一个例外,或是一个事件,它中断了正

Python错误处理操作示例

本文实例讲述了Python错误处理操作.分享给大家供大家参考,具体如下: 同java一样,在python中也有try...except...finaly的错误处理机制 try: print('try...') r=5/0 print('result:',r) except ZeroDivisionError as e: print('except',e) finally: print('finally....') print('end') 比如上面这串代码,因为被除数不能为0所以在try中会出现

python错误调试及单元文档测试过程解析

这篇文章主要介绍了python错误调试及单元文档测试过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 错误分为程序的错误和由用户错误的输入引起的错误,此外还有因为各种各样意外的情况导致的错误,比如在磁盘满的时候写入.从网络爬取东西的时候,网络断了.这类错误称为异常 错误处理 普通的错误处理机制就是在出错的时候返回一个错误代码,但是这样十分不方便,一是因为错误码是和正常结果一样的方式返回的,判断起来十分不方便,二是错误还需要一级一级的向上报