Python笔记5(异常)-20160924

1. NameError

当视图访问一个未定义的变量则会发生NameError。

2.TypeError

当操作或函数应用于不适当类型的对象是会发生TypeError。

3.处理异常

使用try...except块来处理任意异常。基本语法如下:

try:
    语句1
    语句2
    语句3
    ...
except ExceptionName:
    statements to evaluated in case of ExceptionName happens

工作方式:

  • 首先,执行try子句(在try和except关键字之间的部分)
  • 如果没有异常发生,except子句在try语句执行完毕后就被忽略
  • 如果try子句执行过程中发生了异常,那么该子句其余的部分就会被忽略,如果异常匹配于
    except关键字后面指定的异常类型,就执行对应的except子句,然后继续执行try语句之后的代码
  • 如果发生了一个异常,在except子句中没有与之匹配的分支,它就会传递到上一级try语句中。如果最终仍找不到对应的处理语句,它就成为一个未处理异常,终止程序运行,显示提示信息。

4.抛出异常

使用raise语句抛出异常。

捕获raise抛出的异常。

5.定义清理行为

try语句还有一个可选的finally子句,目的在于定义在任何情况下都一定要执行的功能。

不管有没有异常,fianlly子句都会发生。

时间: 2025-01-02 16:40:42

Python笔记5(异常)-20160924的相关文章

Python错误和异常 学习笔记

错误和异常概念 错误: 1.语法错误:代码不符合解释器或者编译器语法 2.逻辑错误:不完整或者不合法输入或者计算出现问题 异常:执行过程中出现万体导致程序无法执行 1.程序遇到逻辑或者算法问题 2.运行过程中计算机错误(内存不够或者IO错误) 错误和异常区别 错误: 代码运行前的语法或者逻辑错误, 语法错误在执行前修改,逻辑错误无法修改 异常分为两个步骤: 1.异常产生,检查到错误且解释器认为是异常,抛出异常: 2.异常处理,截获异常,忽略或者终止程序处理异常 Python常见错误 常见错误:i

Python笔记(四)

在<Python笔记(三)>中,我记录关于Python中序列问题的知识.个人觉得确实比Java中的集合框架简单.之前也说了,Python是一种高级面向对象的语言,它的每一个变量都称为对象.今天我接触了面向对象的编程.下面是这篇博客的目录: 1.类与对象 2.输入输出 3.异常 类与对象: 我们都知道面向对象的语言具备四个特性:抽象,继承,封装,多态.Java,C++是这样,Python也不例外.在Python中,我们定义一个类,使用关键字class.形式如下:class classname:.

python笔记 - day8

python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/articles/5017742.html 大纲 面向对象三大特性之多态 类成员之静态字段和普通字段 类成员之普通方法和静态方法以及类方法 类成员之属性 类成员之成员修饰符 类成员之特殊成员 其他之isinstance和issubclass 其他之super的应用 实例之自定义有序字典 单例模式 基本异常

python笔记——简易线程池multiprocessing.Pool

多线程模型设计是一个比较复杂的逻辑,但是python对于多线程的处理却有种种方便的类库,不需要过多的纠结线程间的操作细节.比如multiprocessing.Pool就是其中之一. 官方给的范例也很简单. from multiprocessing import Pool def f(x): return x*x if __name__ == '__main__': pool = Pool(processes=4) # start 4 worker processes result = pool.

Python笔记(五):异常处理和数据存储

注:和上一篇有关联 (一)  finally 和 输出异常信息 try:       the_man = open(r'C:\Users\123456\Desktop\test.txt')       print(the_man.readline(),end="") except IOError as err:     #输出异常信息     print("异常信息:"+ str(err)) #str()转换为字符串 finally:     #不管是否发生异常一定

Python笔记_01列表 和元祖

Python笔记 第一章 列表和元祖 1.通用序列操作 所有序列都可以进行某些特定操作,包括:索引(indexing).分片(slicing).加(adding).乘(multiplying)以及检查某元素是否属于列表成员. 迭代:依次对序列中的每个元素重复执行某些操作. 序列的索引:通过元素在列表中的位置可以定位到该元素,这就是列表的索引,使用类似于list[0]对元素进行索引,索引0指向第一个元素.也可使用负数对元素进行索引,使用负数对元素索引时,列表中的最后一个元素由-1表示,例如list

Python学习 之 异常

1.python中处理异常的方式 #coding:utf8 filename=raw_input("请输入你要操作的文件") try: f=open(filename) print 'hello' except IOError,msg: print "你指定的文件不存在" except NameError,msg: print "内部变量调用错误" finally: #finally try: #异常嵌套 f.close() except Nam

Python 常用的异常类型

Python中的异常类型 转自 http://blog.csdn.net/fcoolx/archive/2009/05/20/4202872.aspx 1.NameError:尝试访问一个未申明的变量>>>  vNameError: name 'v' is not defined 2.ZeroDivisionError:除数为0>>> v = 1/0ZeroDivisionError: int division or modulo by zero 3.SyntaxErr

玩蛇(Python)笔记之基础Part3

玩蛇(Python)笔记之基础Part1 一.集合 1.set 无序,不重复序列 {}创建,直接写元素 2.set功能 __init__()构造方法,,使用强制转换就会调用此方法 1 set1 = {'year', 'jiujiujiu'} 2 print(type(set1)) 3 # 创建集合 4 s = set() # 创建空集合 5 li = [11, 22, 11, 22] 6 s = set(li) set 3.集合的基本操作 1 # 操作集合 2 s1 = set() 3 s1.a

Python中获取异常(Exception)信息

异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置.下面介绍几种python中获取异常信息的方法,这里获取异常(Exception)信息采用try...except...程序结构.如下所示 try: ... except Exception as e: ... 1.str(e) 返回字符串类型,只给出异常信息,不包括异常信息的类型,如1/0的异常信息 'integer division or modulo by zero' 2.repr(e) 给出较全的异常信息,包括异