zoukankan      html  css  js  c++  java
  • About try...expect...else

    From https://www.cnblogs.com/Lival/p/6203111.html

    1. 我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如果except后没有指定异常,则默认处理所有的异常。每一个try,都必须至少有一个except

    2. try ....except...else 语句,当没有异常发生时,else中的语句将会被执行

    3.  处理一组异常可以这样写(其中e代表异常的实例):

    a=10
    b=0
    try:
        c = b/ a
        print c
    except (IOError ,ZeroDivisionError),e:
        print e
    else:
        print "no error"
    print "done" 
    

       一个异常可以带上参数,可作为输出的异常信息参数。

       你可以通过except语句来捕获异常的参数,如下所示:

    try:
        正常的操作
       ......................
    except ExceptionType, Argument:
        你可以在这输出 Argument 的值...

    4.   raise 引发一个异常

      

    1
    2
    3
    4
    5
    inputValue=input("please input a int data :")
    if type(inputValue)!=type(1):
        raise ValueError
    else:
        print inputValue
    

    5. try ...finally 

        -   无论异常是否发生,在程序结束前,finally中的语句都会被执行。

        -   finally语句也可以和except语句一起使用。

    a=10
    b=0
    try:
        print a/b
    except:
        print "error"
    finally:
        print "always excute"
    
     
    6. 自定义一个MyException类,继承Exception。如果输入的数字小于10,就引发一个MyException异常:
         
    class MyException(Exception):
        def __init__(self,message):
            Exception.__init__(self)
            self.message=message
    
    a=input("please input a num:")
    if a<10:
        try:
            raise MyException("my excepition is raised ")
        except MyException,e:
            print e.message
    

    Below is another example:

    通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。

    以下为与RuntimeError相关的实例,实例中创建了一个类,基类为RuntimeError,用于在异常触发时输出更多的信息。

    在try语句块中,用户自定义的异常后执行except块语句,变量 e 是用于创建Networkerror类的实例。

    class Networkerror(RuntimeError):
        def __init__(self, arg):
            self.args = arg

    在你定义以上类后,你可以触发该异常,如下所示:

    try:
        raise Networkerror("Bad hostname")
    except Networkerror,e:
        print e.args
  • 相关阅读:
    CI框架主题切换的功能
    centos7 编译安装 php7.4
    单用户登陆demo-后者挤到前者,类似QQ
    nginx 负载均衡的配置
    PHP计算每月几周,每周的开始结束日期
    Centos7 编译安装PHP7
    TP 3.2.3 接入PHPMailer
    外部js引用vue实例环境的方式
    linux常用命令
    计算机中的二级制
  • 原文地址:https://www.cnblogs.com/morganh/p/8126470.html
Copyright © 2011-2022 走看看