python之异常处理

一、异常处理的作用

python异常处理的用处是针对抛出的异常进行处理使程序后面的代码正常运行(调试代码、或者针对不影响整体运行、不可控的异常出现导致的程序运行)

1、语法导致的异常:应该在程序运行前进行处理

2、逻辑上的异常:try。。。。。except

AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
IOError 输入/输出异常;基本上是无法打开文件
ImportError 无法引入模块或包;基本上是路径问题或名称错误
IndentationError 语法错误(的子类) ;代码没有正确对齐
IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError 试图访问字典里不存在的键
KeyboardInterrupt Ctrl+C被按下
NameError 使用一个还未被赋予对象的变量
SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError 传入对象类型与要求的不符合
UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,
导致你以为正在访问它
ValueError 传入一个调用者不期望的值,即使值的类型是正确的

常用异常

常见异常

二、什么是异常处理

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

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

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

三、异常如何处理

1、if判断处理

2、try。。。except逻辑处理

3、万能异常Exception,一般仅用于代码调试,即无论出现什么异常都同一丢弃。

总结:异常处理仅是作为特殊情况下使用的,并不是什么时候都可以使用,

时间: 2024-12-19 23:09:30

python之异常处理的相关文章

python的异常处理及异常类定义

python的异常处理语法和大多数语言相似: try: try块的语句... except exceptiontype1 as var:#使用as语句获得本次捕获到的异常的实例var except块语句... except exceptiontype2 as var: except块语句... except: except块语句... else: else块语句... finally: finally块语句... 执行的流程分两类: 1.try->若有异常发生->except->fina

what's the python之异常处理

what's the 异常 python程序中会出现异常,即bug.若出现异常程序就报错,异常之后的代码就不会继续往下执行,这是一个正常程序不允许出现的,但是在某些程序交互的时候难免会因为用户输入问题产生异常,这个时候我们就要在程序中加入异常处理的代码来防止因为产生异常而使我们的程序崩溃的情况发生. 异常即错误,错误分两种,一种为语法错误,一种为逻辑错误. 语法错误:程序员在编写代码时因为操作不当产生的错误,此时产生的异常都是相当低级的,处理异常的方式就是人为的手动改正.在编写程序的时候我们一定

(Python)异常处理try...except、raise

转载自https://www.cnblogs.com/Lival/p/6203111.html (Python)异常处理try...except.raise 一.try...except 有时候我们写程序的时候,会出现一些错误或异常,导致程序终止.例如,做除法时,除数为0,会引起一个ZeroDivisionError 例子: ? 1 2 3 4 a=10 b=0 c=a/b print "done" 运行结果: Traceback (most recent call last): Fi

9.python之异常处理

一.python中的错误与异常. 先来说说什么是错误. 在python中错误分为两种 语法错误这种语法错误根本过不了python解释器下面这几种就属于语法错误. 例1: if 输出 File "/Users/macbook/PycharmProjects/untitled1/作业2/test2.py", line 1 if ^ SyntaxError: invalid syntax 例2: def test: pass 例3: class Foo pass 以上这些都是语法错误 2 .

python 超时异常处理

异常处理具体见:[循序渐进学Python]9.异常处理 环境平台:Python2.7.9 + Win8.1 本篇记录一下自己写爬虫的遇到的问题,程序中批量获取图片地址,然后批量保存.由于没有设置网址打开超时,导致程序一直卡在哪里,程序处于假死状态. 经查询得知没有对程序进行超时处理,由于使用的是urllib模块的urlopen,无法直接添加timeout参数(注:python2.6之前的urllib2模块也无法添加timeout参数) 1 import socket 2 import urlli

python专题-异常处理(基础)

之前在学习python的时候有整理过python异常处理的文章,不够简单也不够完整,所以决定再整理一篇,算做补充. http://www.cnblogs.com/cmt110/p/7464748.html python shell >>> open('abc.txt','r') Traceback (most recent call last): File "<stdin>", line 1, in <module> IOError: [Err

Python之异常处理、模块与包

MarkdownPad Document 错误与异常处理 程序中错误分成两种 语法错误:过不了Python解释器 逻辑错误 异常处理 什么是异常处理 Python解释器检测到错误,触发异常,在发生异常时捕捉异常,如果捕捉成功则进入另外一个处理分支,是程序不会崩溃,这就是异常处理 异常处理机制就是来增强程序的健壮性与容错性 常用异常 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常:基本上是无法打开文件 ImportEr

python 学习 异常处理

异常处理实例 while True: num1 = input('num1:') num2 = input('num2:') try: num1 = int(num1) num2 = int(num2) result = num1 + num2 except Exception as ex: print('出现异常,信息如下:') print(ex) 异常处理类型 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常:基本

18.python的异常处理

python中至少包括两种错误:语法错误(syntax errors)和异常(exceptions). 1.语法错误   语法错误,也被称作解析错误 语法分析器指出错误行,并且在检测到错误的位置前面显示一个小“箭头”. 错误是由箭头前面的标记引起的(或者至少是这么检测的).错误会输出文件名和行号,所以如果是从脚本输入的你就知道去哪里检查错误了. 2.异常 即使一条语句或表达式在语法上是正确的,当试图执行它时也可能会引发错误. 运行期检测到的错误称为异常.此时会停止代码的执行,而大多数异常是并没有