Python基础---python中的异常处理

Python中的异常处理

一、什么是异常处理

python解释器检测到错误,触发异常(也允许程序员自己触发异常)

程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关)

如果捕捉成功则进入另外一个处理分支,执行你为其定制的逻辑,使程序不会崩溃,这就是异常处理。

二、为什么要进行异常处理

python解析器去执行程序,检测到了一个错误时,触发异常,异常触发后且没被处理的情况下,程序就在当前异常处终止,后面的代码不会运行,谁会去用一个运行着突然就崩溃的软件。

所以你必须提供一种异常处理机制来增强你程序的健壮性与容错性。

三、异常处理的语法

1.基本语法:

python为每一种异常定制了一个类型,然后提供了一种特定的语法结构用来进行异常处理

语法:

 try:
     被检测的代码块
 except 异常类型:
    try中一旦检测到异常,就执行这个位置的逻辑2.异常类只能用来处理指定的异常情况,如果非指定异常则无法处理
 # 未捕获到异常,程序直接报错

s1 = ‘hello‘ try:
     int(s1)
 except IndexError as e:
     print e
3.多分支
 s1 = ‘hello‘ try:
     int(s1)
 except IndexError as e:
     print(e)
 except KeyError as e:
     print(e)
 except ValueError as e:
     print(e)
基本用不到,有哪个程序员会写一堆的异常用来处理的。。。4.万能异常 在python的异常中,有一个万能异常:Exception,他可以捕获任意异常,即:
1 s1 = ‘hello‘
2 try:
3     int(s1)
4 except Exception as e:
5     print(e)
5.异常处理中的else
 s1 = ‘hello‘
 try:
      int(s1)
 except IndexError as e:
     print(e)
 except KeyError as e:
     print(e)
 except ValueError as e:
     print(e)
 else:
     print(‘try内代码块没有异常则执行我‘)#只有在没有异常类型的情况下才能执行else后的代码
 finally:
     print(‘无论异常与否,都会执行该模块,通常是进行清理工作‘) #无论有没有异常都会执行在finally后面的代码6.自己创造异常
 try:
     raise TypeError(‘类型错误‘)
 except Exception as e:
    print(e)
  class EgonException(BaseException):
      def __init__(self,msg):
          self.msg=msg
    def __str__(self):
         return self.msg

 try:
     raise EgonException(‘类型错误‘)
 except EgonException as e:
     print(e) 
7.断言
1 # assert 条件

 assert 1 == 1#断定条件满足这个条件才会执行代码否则的话会抛出异常。

 assert 1 == 2
8.写在最后的话注意:

  try...except应该尽量少用,因为它本身就是你附加给你的程序的一种异常处理的逻辑,与你的主要的工作是没有关系的
  这种东西加的多了,会导致你的代码可读性变差。

  只有在有些异常无法预知的情况下,才应该加上try...except,其他的逻辑错误应该尽量修正


 
时间: 2024-12-25 05:08:21

Python基础---python中的异常处理的相关文章

Python基础-Python流程控制

上篇文章 Python基础-基础使用 我们已经知道了Python解释器,Python的变量.和Python的输入输出.Python的注释和字符集,这篇文章,我们主要讲Python的流程控制 本文防盗链:http://python789.blog.51cto.com Python基础-Python流程控制 1.条件判断 1.1.if基本使用 if就是一个条件判断的,当满足不同样的条件的时候执行不同的操作,如法如下: if 条件1:     满足条件1 代码框 elif 添加2:     满足条件2

Python基础(中)

前言 print(" _ooOoo_ ") print(" o8888888o ") print(" 88 . 88 ") print(" (| -_- |) ") print(" O\\ = /O ") print(" ____/`---'\\____ ") print(" . ' \\| |// `. ") print(" / \\||| : |||//

python基础—python的简介

一. 1.1  什么是 PythonPython 是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性.它可以帮你完成工作,而且一段时间以后,你还能看明白自己写的这段代码.你会对自己如此快地学会它和它强大的功能感到十分的惊讶,更不用提你已经完成的工作了!只有你想不到,没有 Python 做不到 二.  2 1.2  起源贵铎·范·罗萨姆(Guido van Rossum)于 1989 年底始创了 Python,那时,他还在荷兰的 CWI(Cen

python基础---->python的使用(三)

今天是2017-05-03,这里记录一些python的基础使用方法.世上存在着不能流泪的悲哀,这种悲哀无法向人解释,即使解释人家也不会理解.它永远一成不变,如无风夜晚的雪花静静沉积在心底. Python的基础学习 一.python中函数作为参数 import math def add(x, y, f): return f(x) + f(y) print(add(25, 9, math.sqrt)) # 8.0 二.python引用自定义模块 在同目录下面定义两个文件huhx.py和huhx5.p

重学Python - Day 05 - python基础 -> python的文件操作:r、w、a、r+、a+ 、readline、readlines 、flush等常用的文件方法

文件的读操作 示例: 1 print("->文件句柄的获取,读操作:") 2 3 f = open('无题','r',encoding='utf8') 4 d = f.read() 5 f.close() 6 print(d) 7 8 print('->例二:') 9 f = open('无题','r',encoding='utf8') 10 e = f.read(9) 11 f.close() 12 print(e) 13 #python3中,文件中一个中英文都占位1 运

重学Python - Day 01 - python基础 -> python版本选择+第一个小程序

题外话: Python版本:最新的3.6 安装注意点:勾选添加路径后自定义安装到硬盘的一级目录,例如本人的安装路径: F:\Python 原因:可以自动添加python环境变量,自动关联.py文件,其余的优点很多,例如学习selenium的,使用pip install selenium命令就可以安装selenium 3了,虽然python webdriver的自动化还是2.7居多,但是3.0会是未来 闲言碎语以后再说,现在正式开始学习Python,没办法,不会编程的测试在工作中好吃力,学不会py

python基础--面向对象高级、异常处理、网络编程

一.面向对象高级 1.接口与归一化设计 接口只是定义了一些方法,而没有去实现,多用于程序设计时,只是设计需要有什么样的功能,但是并没有实现任何功能,这些功能需要被另一个类(B)继承后,由 类B去实现其中的某个功能或全部功能. 在python中接口由抽象类和抽象方法去实现,接口是不能被实例化的,只能被别的类继承去实现相应的功能 归一化让使用者无需关心对象的类是什么,只需要知道这些对象都具备某些功能就可以了,这极大地降低了使用者的使用难度. 归一化使得高层的外部使用者可以不加区分的处理所有接口兼容的

Python基础(十一) 异常处理

在程序运行过程中,总会遇到各种各样的错误,有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这样的错误我们通常称之为BUG,BUG是必须修复的.在Python中内置了一套异常处理机制,来帮助我们进行过错误处理,此外我们也需要跟踪程序的执行,查看变量的值是否正确,这个过程称为调试.Python的pdb可以让我们以单步方式执行代码.下面开始今天的内容 一.捕获错误 1.异常介绍 在编程过程中为了增强友好性,在程序出现bug时一般不会讲错误信息显示给用户,而是现实一个提示的页面,通

python 基础篇 错误和异常处理

语法错误 所谓语法错误,也就是你写的代码不符合编程规范,无法被识别与执行,比如下面这个例子: if name is not None print(name) If 语句漏掉了冒号,不符合 Python 的语法规范,所以程序就会报错invalid syntax. 异常 异常则是指程序的语法正确,也可以被执行,但在执行过程中遇到了错误,抛出了异常,比如下面的 3 个例子: 10 / 0 Traceback (most recent call last): File "<stdin>&qu