从零开始学Python

第九章:异常

 

1.raise语句

 

  raise语句可以有两个参数,异常的类和异常的信息

 

  1.raise IOError

 

  2.raise(error)

 

2.自定义异常类

 

 采用继承异常类的方式

 

 class SomeC(Exception):

 

3.捕捉异常:

 

================================

 

  try:

 

   异常代码块

 

  except IOError:

 

   print(异常信息)

 

  try:

 

   异常代码块

 

  except IOError:

 

   print(异常信息)

 

  except TypeError:

 

   print(异常信息)

 

用一个块捕捉多个异常:

 

  try:

 

   异常代码块

 

  except (IOError,TypeError):

 

   print(异常信息)

 

捕捉对象:  

 

  try:

 

   异常代码块

 

  except (IOError,NameError) as e:

 

   print(e)

 

全捕捉:

 

  try:                      或者:try

 

   异常代码块                     异常代码块

 

  except:                         except Exception as e:#可以对e进行检查

 

   print(异常信息)                print(异常信息)

 

在后面加上else,在没有异常的时候执行 

 

try

 

   异常代码块

 

 except :

 

   print(异常信息)

 

 else:

 

   print(没有异常的时候执行)

 

finally句子,无论异常是否发生,都会执行

 

 try

 

   异常代码块

 

 except :

 

   print(异常信息)

 

 finally:

 

   print(无论异常是否发生都会执行)

 

4.异常的传递

 

  这里引用java中的异常链式传递来对比,Python的异常在某一个方法中不做处理,那么久要在调用该方法的时候用try-except处理,堆栈跟踪。

<!--EndFragment-->

你可能感兴趣的:(python)