zoukankan      html  css  js  c++  java
  • Python档案袋(异常与异常捕获 )

    无异常捕获

    程序遇到异常会中断

    print( xxx )
    print("---- 完 -----")

    得到结果为:

    有异常捕获

    程序遇到异常会进入异常处理,并继续执行下面程序

    try:
     print( xxx )
    except NameError as e:
        print("出现错误",e)
    print("---- 完 -----")

    抓住所有异常

    try:
      print(xx)
    except Exception as e:
      print("----异常---%s"%e) #输出:----异常---name 'xx' is not defined

    捕获多个异常:

    方法一:

    【except (异常1,异常2) as e:】如果多个异常可以使用一个处理方法时,可使用多异常捕获方法

    方法二:

    多个异常,使用不同的异常处理,但这样只会进入第一个发生异常处,然后跳出异常捕获

    xx=[ ]
    try:
        
     print( xxx ) #NameError
     print(xx[1]) #IndexError
     
    except NameError as e:
        print("出现错误1",e)
    except IndexError as e:
        print("出现错误2",e)
    except Exception as e:
        print("未知错误",e)
    
    print("---- 完 -----")

    else和finally的用法

    try:
     print( xxx ) #NameError
    except NameError as e:
        print("出现错误1",e)
    else:
        print("一切正常")
        
    finally:
        print("不管有没有错,我必须执行")
        
    print("---- 完 -----")

    自定义异常:

     1 class DongExcep(Exception):
     2     def __init__(self,msgxx):
     3         self.msgx=msgxx
     4 
     5     #实质调用该方法,可以不写也会输出类属性值
     6     def __str__(self): 
     7          return "东==>:%s"%(self.msgx)
     8 
     9 try:
    10    #抛出自定义异常
    11    raise DongExcep("东小东自定义异常")
    12 
    13 #捕获自定义异常
    14 except DongExcep as e: #
    15     print("出现错误1",e)
    16 
    17 print("---- 完 -----")

    注意:

    缩进错误(IndentationError),不可被捕获

  • 相关阅读:
    css color
    css 常用单位
    CSS grid layout
    C++ vector 容器
    我了解到的 JQuery 的定时器
    ORACLE 中如何截取到时间的年月日中的年
    复选框的 全选 反选 全不选
    模糊查询 字符串 多选查询
    JAVA对象JSON数据互相转换
    显示 / 隐藏 <a> 标签
  • 原文地址:https://www.cnblogs.com/dongxiaodong/p/10493604.html
Copyright © 2011-2022 走看看