zoukankan      html  css  js  c++  java
  • Python3基础第七篇:异常处理

    在Python里面可以使用try/except/finally语句来捕捉程序运行时产生的例外!
    try语句块用来包含可能产生异常的代码块,若是产生异常则try块内的内容不执行,except块里的代码开始执行。若try块一切正常,则不执行except块里代码。但最终,不管try正常与否,finally块的内容都会无条件的执行。

    try:
        print(7/0)
    except ZeroDivisionError:
        print("error by zero")
    finally:
        print("this code will run")

    当然,与if-elif-else类似,使用try语句可以拥有多个except定义语句来处理异常,而多个异常也可以使用一个except块来捕捉。

    try:
        maybey = 8
        print(maybey/2)
        print (maybey+'i can')
    except ZeroDivisionError:
        print("Divided by zero")
    except(ValueError,TypeError):
        print('error')
    finally:
        print("this code will not run")

    值得注意的是,当except中没有声明要捕捉的意外,它将捕捉所有的意外。但是,这种方式会把编程错误隐藏,但一般在处理用户输入的时候使用。

    try:
        num01 = input("请输入01的值:")
        num02 = input("请输入02的值:")
        print(float(num01)/int(num02))
    except:
        print("Invalid input")

    认识finally。
    两个例子:
    第一个:

    try:
        print(1)
    except:
        print(2)
    finally:
        print(3)

    第二个:

    try:
        print(1/0)
    except:
        print(2)
    finally:
        print(3)

    异常也可以自己声明异常名称。

    try:
        print(1/0)
    except ZeroDivisionError:
        raise ValueError("分母为0,语法错误")
    finally:
        print(3)

    也可以不用声明异常的名称就可以重新抛出捕捉到的异常。

    try:
        print(1/0)
    except ZeroDivisionError:
        #print("分母为0,语法错误")
        raise
    finally:
        print(3)
  • 相关阅读:
    最新Xcode7.x环境下上架iOS App到AppStore 完整流程
    rails提供的validators
    Ruby 符号【转】
    xaml学习笔记
    fedora安装rails缺少js runtime和cannot load such file -- sqlite3/sqlite3_native解决办法
    学习笔记——敏捷开发
    结队编程(电梯调度问题)
    【转】javascript操作Select标记中options集合
    【软件工程】Word frequency program
    【转】诗社之死
  • 原文地址:https://www.cnblogs.com/chenruhai/p/12464257.html
Copyright © 2011-2022 走看看