• 异常


    从文件中读取数据

    读取整个文件

    异常

    Python使用被称为异常的特殊对象来管理程序执行期间发生的错误。每当发生让Python不知所措的错误时,它都会创建一个异常对象。如果你编写了处理该异常的代码,程序将继续运行;如果你未对异常进行处理,程序将停止,并显示一个traceback,其中包含有关异常的报告

    异常是使用try-except代码块处理的。try-except代码块让Python执行指定的操作,同时告诉Python发生异常时怎么办。使用了try-except代码块时,即便出现异常,程序也将继续运行:显示你编写的友好的错误消息,而不是令用户迷惑的traceback

    使用 try-except 代码块

    当你认为可能发生了错误时,可编写一个try-except代码块来处理可能引发的异常。你让Python尝试运行一些代码,并告诉它如果这些代码引发了指定的异常,该怎么办。
    处理ZeroDivisionError异常的try-except代码块类似于下面这样:

    try:
         print(5/0)
    except ZeroDivisionError:
         print("You can't divide by zero!") 
    
    

    使用异常避免崩溃

    发生错误时,如果程序还有工作没有完成,妥善地处理错误就尤其重要。这种情况经常会出现在要求用户提供输入的程序中;如果程序能够妥善地处理无效输入,就能再提示用户提供有效输入,而不至于崩溃

    else 代码块

    print("Give me two numbers, and I'll divide them.")
    print("Enter 'q' to quit.")
    
    while True:
        first_name = input("
    First name :")
        if first_name == 'q':
            break
        second_name = input("
    Second name :")
        if second_name == 'q':
            break
        try:
            answer = int(first_name) / int(second_name)
        except ZeroDivisionError:
            print("cant divied")
        else:
             print("answer")
    
    
    ##通过将可能引发错误的代码放在try-except代码块中,可提高这个程序抵御错误的能力。错误是执行除法运算的代码行导致的,因此我们需要将它放到try-except代码块中。这个示例还包含一个else代码块;依赖于try代码块成功执行的代码都应放到else代码块中.
    
    如果try 区域内的代码正常执行,则执行
    
    

    失败时一声不吭

    并非每次捕获到异常时都需要告诉用户,有时候你希望程序在发生异常时一声不吭,就像什么都没有发生一样继续运行。要让程序在失败时一声不吭,可像通常那样编写try代码块,但在except代码块中明确地告诉Python什么都不要做。Python有一个pass语句,可在代码块中使用它来让Python什么都不要做

    def count_words(filename):
     """计算一个文件大致包含多少个单词"""
           try:
                     --snip--
           except FileNotFoundError:
                    pass
           else:
                    --snip-- 
    

    保存数据

    import json
    
    numbers = [2,3,4,5,6,44]
    filename = 'numbers.json'
    with open(filename,'w') as f_obj:
        json.dump(numbers,f_obj)
    

    读取数据

    import json
    
    numbers = [2,3,4,5,6,44]
    filename = 'numbers.json'
    with open(filename,'w') as f_obj:
        json.dump(numbers,f_obj)
    

    重构

    代码能够正确地运行,但可做进一步的改进——将代码划分为一系列完成具体工作的函数。这样的过程被称为重构。重构让代码更清晰、更易于理解、更容易扩展

  • 相关阅读:
    流式布局
    发送短信验证码 倒计时
    jQuery-qrcode.js 生成带Logo 的二维码
    bootstrap-daterangepicker插件运用
    html 转 pdf
    input placeholder 在chrome 浏览器自动填充时,背景色覆盖原有背景图片问题。
    jQuery.qrcode 生成二维码,并使用 jszip、FileSaver 下载 zip 压缩包至本地。
    java学习之super、final、static关键字及匿名对象
    java学习之数组
    java学习之循环语句
  • 原文地址:https://www.cnblogs.com/g2thend/p/11749819.html
Copyright © 2020-2023  润新知