zoukankan      html  css  js  c++  java
  • 通过try、except和else的使用来使Python程序更加“强壮”

    在执行的程序中,难免会碰到因为一些原因如输入输出导致致命性错误产生的情况(如因为输入的文件名错误而导致无法运行相关的代码。)。此时你不希望程序直接挂掉,而是通过显示一些信息,使其平稳的结束。此时,就可以使用try,except和else这三个关键字来组成一个包容性很好的程序。

    分别解释三个关键字:

    try:执行可能会出错的试探性语句,即这里面的语句是可以导致致命性错误使得程序无法继续执行下去

    except:如果try里面的语句无法正确执行,那么就执行except里面的语句,这里面可以是错误信息或者其他的可执行语句

    else:如果try里面的语句可以正常执行,那么就执行else里面的语句(相当于程序没有碰到致命性错误)

    我们通过一个实例程序来解释这三个关键字的用法:

    #coding:gbk
    "Module documentation"
    #import
    #variable
    #class
    #function

    if __name__ == '__main__':
    fname = raw_input("Please input the file's name:")
    print fname

    try: #尝试执行一个或多个语句
    fobj = open(fname,"r")    #尝试打开一个文件
    except IOError, error: #如果无法执行"try"里面的语句,那么就执行except里面的语句 另外需要注意的是,"error"相当于是一个变量,用于存储错误信息的
    #标准语句和相关信息。
    print "*** file open error", error

    else: #如果try里面的语句成功执行,那么就执行else里面的语句
    for eachline in fobj:
    print eachline,
    fobj.close()

    假设try里面的语句无法正常执行,那么其输出结果为:

    Please input the file's name:s
    s
    *** file open error [Errno 2] No such file or directory: 's'

  • 相关阅读:
    前端知识笔记
    Vue 组件设计
    使用 puppeteer 创建一个自动化导出 PDF 的服务
    解决浏览器缓存导致页面非最新的小技巧
    浏览器文件上传浅淡
    Vue 项目代理设置的优化
    「django2」macos系统下安装及创建工程
    「android」gomobile argument unused during compilation: '-stdlib=libc++'
    「linux」大文本文件中查找指定字符串并删除所在行
    「color」颜色RGB
  • 原文地址:https://www.cnblogs.com/lordage/p/5722086.html
Copyright © 2011-2022 走看看