zoukankan      html  css  js  c++  java
  • python 抛出异常与自定义异常raise

    使用raise抛出异常 当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。 演示raise用法

    1
    2
    3
    4
    5
    6
    7
    8
    try:
         s = None
         if s is None:
             print "s 是空对象"
             raise NameError     #如果引发NameError异常,后面的代码将不能执行
         print len(s)
    except TypeError:
         print "空对象没有长度"

      

    自定义异常 python允许程序员自定义异常,用于描述python中没有涉及的异常情况,自定义异常必须继承Exception类,自定义异常按照命名规范以"Error"结尾,显示地告诉程序员这是异常。自定义异常使用raise语句引发,而且只能通过人工方式触发。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    from __future__ import division
     
    class DivisionException(Exception):
          def __init__(self, x, y):
                Exception.__init__ (self, x, y)       #调用基类的__init__进行初始化
                self.x = x
                self.y = y
     
    if __name__ == "__main__":
          try:
                x = 3
                y = 2
          if x % y > 0:                               #如果大于0, 则不能被初始化,抛出异常
                print x/y
                raise DivisionException(x, y)
    except DivisionException,div:                     #div 表示DivisionException的实例对象
          print "DivisionExcetion: x/y = %.2f" % (div.x/div.y)

     

  • 相关阅读:
    使用JDK创建webService
    eclipse换工作空间要做的事情
    JAVA输出表格(适配中英文)
    linux下如何用GDB调试c++程序
    C++编译的四个步骤
    linux下如何设置root密码(第一次)
    chp01、Dreamweaver介绍
    服务器端程序
    1_计算机网络概述
    Oracle Java JDBC: Get Primary Key Of Inserted Record
  • 原文地址:https://www.cnblogs.com/hu-yewen/p/6507491.html
Copyright © 2011-2022 走看看