结构:

  1. try:
  2. 可能出现异常的代码
  3. except [想要处理的异常] as x:
  4. as x是将捕获的异常作为一个对象看待
  5. 当出现这个异常时,处理的方法
  6. else:
  7. try正常执行完,else中的代码才会执行
  8. finally:
  9. 无论什么情况都会执行,比return的权限还大

异常处理的位置

  • 在本方法内捕获
  • 在父级及以上捕获
    1. def run():
    2. ...
    3. if __name__ == "__main__":
    4. try:
    5. run()
    6. except:
    7. pass

自定义异常:

  1. class ABException(Exception):
  2. # 这里接收的是要程序报错时,需要提示的信息
  3. def __init__(self,value):
  4. self.value=value
  5. a=5
  6. b=3
  7. try:
  8. if a!=b:
  9. raise ABException("a和b不相等")
  10. except ABException as ab:
  11. print(ab)

断言:

  1. '''
  2. 断言:判断一个表达式,如果值为True,则没事
  3. 如果值为False ,则系统报错,错误类型为AssertionError,程序中止
  4. 错误提示信息为逗号后定义的字符串
  5. '''
  6. a=5
  7. b=3
  8. assert a==b,"error:a与b不相等"