python文件不存在异常_Python文件和异常处理

6.

异常和文件处理

- Dive Into Python

6.1

异常处理

.

Python

的异常

try

except

finally

来处理

.

并且

except

后还可以跟

else .

引发异常用

raise

如果抛出的异常没有被处理

.

Python IDE

中是显示一些红色的信息

.

在真正的

Python

程序运行时

.

会导

致程序终止

.

在以前我们已经见到过一下几种异常

:

Dictionary

中如果使用的

key

不存在

.

会引发

KeyError

异常

.

:

>>> d = {"a":1, "b":"abc"}

>>> d["c"]

Traceback (most recent call last):

File "", line 1, in 

KeyError: 'c'

搜索列表中不存在的值

.

将引发

ValueError

异常

.

:

>>> li = [1,2]

>>> li.index(3)

Traceback (most recent call last):

File "", line 1, in 

ValueError: list.index(x): x not in list

对应的

.

用下标来引用列表中的元素

.

若下标出界

.

会产生

IndexError

异常

.

:

>>> li[2]

Traceback (most recent call last):

File "", line 1, in 

IndexError: list index out of range

调用不存在的方法

.

会引发

AttributeError

异常

.

引用不存在的变量

.

引发

NameError

异常

.

未强制转化就混用数据类型

.

引发

TypeError

异常

.

文件操作错误引发的

IOError.

:

try

:

fsock = open("/notthere")

except

IOError:

print "The file dose not exits..."

else

:

print "open the file."

print "this line will always print"

注意上边的代码中

:

open

是一个内置函数

.

用来打开文件

.

并返回一个文件对象

.

try except

后边可以跟

else

语句

.

当没有捕捉到指定的异常时

.

执行

else

语句

.

导入一个模块时

.

若模块不存在

.

会引发

ImportError

异常

.

还可以

定义自己的异常类

.

定义时

让它继承内置的

Exception

.

然后在需要抛出异常时用

raise

抛出

.

你可能感兴趣的:(python文件不存在异常)