Python学习笔记(异常处理)

用户输入了一个不合规定的值,或者需要打开的文件不存在。这些情况被称作“异常”,一个好的程序需要能处理可能发生的异常,避免程序因此而中断。

例如我们去打开一个文件:

f = file(‘non-exist.txt‘)

print ‘File opened!‘

f.close()

假如这个文件因为某种原因并没有出现在应该出现的文件夹里,程序就会报错:

IOError: [Errno 2] No such file or directory: ‘non-exist.txt‘

程序在出错处中断,后面的print不会被执行。

在python中,可以使用try...except语句来处理异常。做法是,把可能引发异常的语句放在try-块中,把处理异常的语句放在except-块中。

把刚才那段代码放入try...except中:

try:

f = file(‘non-exist.txt‘)

print ‘File opened!‘

f.close()

except:

print ‘File not exists.‘

print ‘Done‘

当程序在try内部打开文件引发异常时,会跳过try中剩下的代码,直接跳转到except中的语句处理异常。于是输出了“File not exists.”。如果文件被顺利打开,则会输出“File opened!”,而不会去执行except中的语句。

但无论如何,整个程序不会中断,最后的“Done”都会被输出。

在try...except语句中,try中引发的异常就像是扔出了一只飞盘,而except就是一只灵敏的狗,总能准确地接住飞盘。

时间: 2024-10-08 01:56:23

Python学习笔记(异常处理)的相关文章

python学习笔记异常处理(七)

异常处理 异常处理是工作中编写代码必须要完成的内容,对于不符合预期的操作,程序总会出现异常情况,而对异常情况能够妥善处理,是保证程序稳定性的关键. >> f = input("filename")filename/hone/a.py>> ff = open(f)Traceback (most recent call last):File "<stdin>", line 1, in <module>FileNotFoun

python 学习笔记 6 -- 异常处理

当你的程序中出现某些 异常的 状况的时候,异常就发生了.例如,当你想要读某个文件的时候,而那个文件不存在.或者在程序运行的时候,你不小心把它删除了. 那么如果你是在IDE中运行,一个错误发生,异常会被打引出来,这便是未处理异常:当异常发生时,如果没有代码去关注和处理它,这些异常会传给置在Python中的缺省处理,他会输出一些调试信息并且终止运行.如果是在IDE中,这不是什么大事,但是如果是Python程序运行中的异常,它会导致整个程序终止,对于这些情况可以使用异常来处理. 1.try..exce

python学习笔记十——异常处理

1.try: command except 错误类型,记录错误信息变量: command finally: command try...finally的用处是无论是否发生异常都要确保资源释放代码的执行.一般来说,如果没有发生错误,执行过try语句块之后执行finally语句块,完成整个流程.如果try语句块发生了异常,抛出了这个异常,此时就马上进入finally语句块进行资源释放处理.如下从几个细节讨论finally的特性. 1).try中的return: 当在try语句块中含有return语句

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

python 学习笔记 7 -- Python关键字总结

0.写在前面的话 学习一门语言最重要的功课是练习与复习,在<笨方法学Python>中第三十七节虽然没有教你任何内容,但是它提醒我们:"学了这么多,你还能记得多少?该复习了!" 下面我们就对这一节的第一部分"关键字"来做个复习: Python中的关键字包括如下: and       del        from      not      while    as        elif       global    or       with     

Python学习笔记进阶篇——总览

Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(多线程与进程池) Python学习笔记——进阶篇[第九周]———线程.进程.协程篇(队列Queue和生产者消费者模型) Python学习笔记——进阶篇[第九周]———协程 Python学习笔记——进阶篇[第九周]———MYSQL操作

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

python学习笔记12-模块使用

python学习笔记12-模块使用 模块os,sys 什么是模块? 模块os,sys 模块是Python组织代码的一种基本方式 一个Python脚本可以单独运行,也可以导入到另外一个脚本运行,用import hello语句来导入,不用加入.py 什么是Python的 包? Python的模块可以按照目录组织为包 创建一个包的步骤: 创建一个名字为包名的目录 在改目录下创建一个__init__.py文件 根据需要,在该目录下存放脚本文件或已编译的扩展及子包 import pack.m1,pack.

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件