异常处理

异常 exception (基础)
什么是错误
  错误是指由于逻辑或语法等导致一个程序无法正常执行
错误的特点:
  有些错误无法预知
什么是异常:
  异常是程序出错时标识的一种状态
  当异常发生时,程序不会再向下执行,而转去调用此函数的地方待处理此错误并恢复为正常状态
  
异常的作用:
  1. 通知上层的调用者,有错误产生需要处理
  2. 用作信号传递
  
try 语句的两种语法:
  try-except语句
  try-finally语句
  try-except语法:
  try:
    可能触发异常的语句...
  except 错误类型1 [as 变量1]
      异常处理语句1
  except 错误类型2 [as 变量2]
      异常处理语句2
  except (错误类型3, 错误类型4) [as 变量3]
      异常处理语句3
  ...
  except:
      其它异常处理语句
  else:
      未发生异常处理语句
  finally:
      最终语句


作用:
  捕获异常,将程序转为正常状态


语法说明:
  as 子句是用于绑定错误对象的变量,可以省略
  except 子句可以有一个或多个,但至少要有一个
  else 子句最多只能有一个.也可以省略不写
  finally 子句最多只能有一个,也可以省略不写
  else 子句在没有出现异常时,子句的语句才被执行
  finally 子句在无论是否出现异常时都会被执行





Python中的错误类型:
>>> help(__builtins__)
ZeroDivisionError    除(或取模)零
StopIteration        迭代器没有更多的值
IOError              输入/输出错误
ImportError          导入模块失败
IndexError           序列中没有此索引
IndentationError     缩进错误
ValueError           传入无效的参数
AssertionError       断言语句失败
NameError            未声明或初始化对象
AttributeError       对象没有这个属性




try语句的嵌套:


try-finally 语法
  try:
      可能触发异常的语句
  finally:
      最终子句


语法说明:
  finally 子句不可以省略
  此语句中一定不存在 except 子句
作用:
  1. 通常try/finally语句做触发异常时必须要做的事情
       无论异常是否发生,finally 子句都会被执行
  2. try-finally 语句不会改变程序的(正常/异常)状态
    


raise 语句
作用:
  生成一个错误,让程序进入异常状态
语法:
  raise 异常类型
  或
  raise 异常对象





assert 语句 (断言语句)


assert 语句的语法:
  assert 真值表达式, 错误数据(通常是字符串)
作用:
  当真值表达式为False时,用错误数据创建一个AssertionError类型的错误,并进入异常状态


等同于:
  if 真值表达式 == False:
      raise AssertionError(错误数据)





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值