关于异常和断言的笔记

1. 异常

1.1异常的概念

  • 异常指的当是我们的程序决定执行一个语义学上有问题而语法无错误的命令时的情况,通常我们遇见异常时,程序通常会抛出一个异常并自动停止,然而,由于有些异常是我们在设计程序时可以预料到的(比如一个交互式程序要求使用者输入一个数字,然而使用者却输入了一个字符串),这时,我们可以自己写处理器来处理这些异常,让这些异常能被我们控制。

1.2 处理异常的方法
我们通常用try/except语句,如下列代码:

val = int(raw_input('Enter an integer: '))
print 'The square of the number you entered is', val**2

在大多数情况下,这段代码没问题,但是当用户输入的不是一个整数时,python解释器会抛出一个异常(ValueError)并终止程序,然而这种异常时可预期的,这时,我们可以利用try/block语句来解决这个问题。

while True:
    val = raw_input('Enter an integer: ')
    try:
        val = int(val)
        print 'The square of the number you entered is', val**2
        break #to exit the while loop
    except ValueError:
        print val, 'is not an integer'

在这段修改好的代码中,当用户的输入与预期不符时,我们跳到except语句,提示用户输入的不是整数,然后回到while语句,直到输入符合预期,程序执行结束。

*hint: *

  • 在代码中只有except:后面不加任何异常类型时,代码中出现任何一类错误都会进入except语句
  • except后可加多种类型的异常,如except(ValueError, TypeError):
  • 当代码中出现raise exceptionName(argument)时,程序会抛出与exceptionName对应的异常,并终止程序,终端上显示为exceptionName:argument

1.3 异常的作用

2. 断言

  • Assertions are a useful defensive programming tool. They can be used toconfirm that the arguments to a function are of appropriate types. They are alsoa useful debugging tool. The can be used, for example, to confirm thatintermediate values have the expected values or that a function returns anacceptable value.
  • 基本形式
    assert Boolean expression, argument

做完 MIT pset4 的收获

当我们在一个函数中,要把另一个函数的返回值赋给一个变量时,要在函数开头把这个变量初始化

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本节内容如下: 什么是异常,对异常的解释和描述,口语描述和专业术语的联系 代码中出现错误的处理手段 异常处理方式什...
    大牧莫邪阅读 752评论 0 0
  • 一、简介 Python最强大的结构之一就是它的异常处理能力,所有的标准异常都使用类来实现,都是基类Exceptio...
    随风化作雨阅读 3,089评论 0 1
  • Python异常处理 异常概念: 异常:就是不正常的情况,程序开发过程中错误和BUG都是补充正常的情况 异常发生的...
    youngkun阅读 943评论 0 4
  • 异常处理在程序的健壮性上表现的尤为重要, 例1:#!/usr/bin/pythonimport traceback...
    古佛青灯度流年阅读 948评论 0 1
  • 1.什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,Python无...
    岁月神偷_bde8阅读 287评论 0 0