python使用try...except语句处理异常

try....except语句语法格式:

try:

  <语句>

except(异常名称):

  <语句>

注意在except语句中的括号中的异常名称是可以省略的,当省略时就是全捕捉

try...except语句的执行步骤

1.执行try字句

2.如果没有异常发生则会跳过except子句,try字句执行之后结束

3.如果在执行try字句时发生了异常,如果与except中异常名称相同,则会执行except字句

4.如果try字句中发生了异常,但与except中的异常名称不符合则会传递到上层的try中,即输出起异常类型

eg:

try:

  10/0

except ZerpDivisionError:

  print("数值不能除以0")

全捕捉

使用一个except语句处理所有的异常

eg:

s = [1,2,3,4]

def get(n):

  try:

    if n < 200:

      data = s[4]

    else:

      file = open(100,200,300,400)

  except:

    print("gain all Error")

get(100)

get(300)

excpet字句中忽略所有的异常,从而让程序输出自定义的异常信息

异常中的else

使用else语句来处理没有异常的情况。注意使用else语句时,一定要有except语句。类似于只有有if才能有else

def get(n):

  if n < 100:

    data = s[4]

  elif 200 <= n <= 300:

    data = s[4]

except:

  print("Error")

else:

  print("True")

添加一个else语句可以使我们能够更好的判断程序执行情况

抛出异常

python中是用raise语句抛出一个指定的异常

eg:

raise NameError()

raise唯一的一个参数指定了要抛出的异常。

结束python解释器的运行

raise SystemExit