zoukankan      html  css  js  c++  java
  • python 基础 6.2 raise 关键字使用

    一. raise 关键字
       raise 用来触发异常
       语法如下:
        raise[Exception [,args [,traceback]]]
        语句中Exception 是异常的类型(例如:NameError)参数是一个异常参数值。改参数是可选的。如果不提供,异常的参数是“None”。最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。
     
    1》示例  #raise 抛出异常,print 是打印出来
    try:
        a = 10
        b = 0
        print a/b
    except Exception as e:
        print e
        raise e
    else:
        print 'ok'
    finally:
        print 'End'
     
    >>>
    integer division or modulo by zero       // print 打印异常
    End
    Traceback (most recent call last):
      File "F:/Գ��python�ű�/�쳣/raise �ؼ���.py", line 13, in <module>
        raise e
    ZeroDivisionError: integer division or modulo by zero    //raise 抛出异常,程序终止了
     
     
    2》 raise 抛出异常后,还会执行finall,无论这个程序时对的还是错误的,在逻辑上最后都会执行finally。然后 raise 抛出异常后,程序就会终止,不会再打印最后的 print ‘这是一个异常’
    try:
        a = 10
        b = 0
        print a/b
    except Exception as e:
        print e
        raise e            //抛出异常程序终止
    else:
        print 'ok'
    finally:
        print 'End'
    print '这是一个异常'    //不会再执行此处
     
    >>>
    integer division or modulo by zero
    Traceback (most recent call last):
    End
      File "F:/Գ��python�ű�/�쳣/raise �ؼ���.py", line 13, in <module>
       raise e
    ZeroDivisionError: integer division or modulo by zero
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    一个很好的国外的算法网站
    Windows 2008 R2 强制删除Cluster
    .net 4.5 新特性 async await 一般处理程序实例
    基于RSA的加密/解密示例C#代码
    解决WCF 调用方未由服务器进行身份验证或消息包含无效或过期的安全上下文令牌
    SQL Server查看所有表大小,所占空间
    关于Latch
    关闭SQL Server 数据库所有使用连接
    MysqliDb 库的一些使用简单技巧(php)
    Linux 常用命令
  • 原文地址:https://www.cnblogs.com/lzcys8868/p/7802274.html
Copyright © 2011-2022 走看看