Python学习(八)异常处理】的更多相关文章

一. 异常 1.什么是异常 异常是错误发生的信号,程序一旦出错,如果程序中还没有相应的处理机制 那么该错误就会产生一个异常抛出来,程序的运行也随之终止 2.一个异常分为三部分: 1.异常的追踪信息 2.异常的类型 3.异常的值 3.异常的分类: 1.语法异常: 这类异常应该在程序执行前就改正 print('start....') x=1 x+=1 if print('stop....') 2.逻辑上的异常 #TypeError:int类型不可迭代 for i in 3: pass #ValueE…
Python中的Exceptions是所有异常的基类,内置的异常类都放在了exceptions模块中,通过dir()函数可以看到这些内置的类 通过raise 语句触发异常,如 >>>raise  Exception >>>import exceptions>>>dir(exceptions) ['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BufferE…
异常处理 什么是异常处理 - python解释器检测到错误,触发异常(也允许程序员自己触发了异常) - 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,只与异常处理有关) - 如果捕捉成功则进入另外一个处理分支,执行你为其定制的逻辑,使程序不会崩溃,这就是异常处理 异常处理的基本语法 try: 需要被检测的代码块 except 异常的类型: try 中的代码一旦被检测到异常,就执行这个位置的逻辑 基本的异常处理模块: while True: try: # 代码块,逻辑 inp…
1.首先了解错误和异常的概念: 错误:代码运行前的代码错误或者是程序执行过程中的逻辑错误 1:语法错误:代码不符合解释器或者编译器语法(代码错误) 2:逻辑错误:不完整或者不合法输入或者计算出现问题(输入时或者计算时,比如除零操作等) 异常:执行过程中出现问题导致程序无法继续执行 1:程序遇到逻辑或者算法问题(代码错误导致程序无法正确的执行) 2:运行过程中计算机错误(内存不够或者IO错误)(硬件环境出现问题) 2.错误和异常的区别: 错误中的语法错误会在解释器或编译发现的,但是逻辑错误是无法通…
异常捕获 语法格式: try: pass except xxx as e: pass except xxx as e: pass ... else: pass finally: pass except用来捕获异常类型,常见的有ValueError.ZeroDivisionError,都继承基类BaseException.如果没有错误发生,则执行else.不管有没有错误发生,都会执行finally. 注意的是,只要一处except的捕获到了,不会继续捕获. except xxx as e里的as…
`python`定制类主要是实现特定功能,通过在类中定义特定的函数完成特定的功能. class Student(object): def __init__(self, name): self.name =name student = Student("lilei") print(student) `实现定制类` class Student(object): def __init__(self, name): self.name = name def __str__(self): ret…
相关概念 - 错误:程序运行之前的语法错误,如:关键字.缩进不齐.括号不成对. - 异常:在程序运行过程中出现的问题,如:除数为0.对象属性不存在等. 异常处理 - 说明:异常处理可以理解为特殊的流程控制语句,可以提高代码的健壮性. - 语法: try: print('正常代码') # 3/0 # print(a) print('正常结束') except Exception as e: # 此处捕获异常,然后做出异常的处理 print('出现了异常', e) print('over') - 多…
用户输入了一个不合规定的值,或者需要打开的文件不存在.这些情况被称作“异常”,一个好的程序需要能处理可能发生的异常,避免程序因此而中断. 例如我们去打开一个文件: f = file('non-exist.txt') print 'File opened!' f.close() 假如这个文件因为某种原因并没有出现在应该出现的文件夹里,程序就会报错: IOError: [Errno 2] No such file or directory: 'non-exist.txt' 程序在出错处中断,后面的p…
0 # -*- coding: utf-8 -*- 1 import random #冲突检查,在定义state时,采用state来标志每个皇后的位置,其中索引用来表示横坐标,基对应的值表示纵坐标,例如: state[0]=3,表示该皇后位于第1行的第4列上 def conflict(state, nextX): nextY = len(state) for i in range(nextY): #如果下一个皇后的位置与当前的皇后位置相邻(包括上下,左右)或在同一对角线上,则说明有冲突,需要重新…
网络是十分复杂的.网页数据格式不友好,网站服务器宕机,目标数据的标签找不到,都 是很麻烦的事情.网络数据采集最痛苦的遭遇之一,就是爬虫运行的时候你洗洗睡了,梦 想着明天一早数据就都会采集好放在数据库里,结果第二天醒来,你看到的却是一个因某 种数据格式异常导致运行错误的爬虫,在前一天当你不再盯着屏幕去睡觉之后,没过一会 儿爬虫就不再运行了.那个时候,你可能想骂发明互联网(以及那些奇葩的网络数据格 式)的人,但是你真正应该斥责的人是你自己,为什么一开始不估计可能会出现的异常! html = urlo…