Python入门-异常处理

1 基本概念

-异常:简单来说运行期检测到的错误 。

  异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,在Python无法正常处理程序时就会发生一个异常。

   异常是Python对象,表示一个错误。

-异常处理:计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的异常时,异常处理程序将被启动,从而恢复程序的正常运行。

2  异常类型

异常体系内部层次关系


异常总结

3 异常处理语句

1)try-except

#基本形式

#步骤

•执行try子句(在关键字try和关键字except之间的语句)

•如果没有异常发生,忽略except子句,try子句执行后结束。

•如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和except之后的名称相符,那么对应的except子句将被执行。最后执行try语句之后的代码。

•如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中

#注意

一个try语句可能包含多个except子句,分别来处理不同的特定的异常,最多只有一个分支会被执行。

使用多个except代码块时,必须坚持对其规范排序,要从最具针对性的异常到最通用的异常。

一个 except 子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组

#example

2)try - except - finally 

#基本形式

#example

3)try-except-else:else语句的存在必须以except语句的存在为前提,在没有except语句的try语句中使用else语句,会引发语法错误

#基本形式

#example

4 raise语句

raise语句用于抛出指定异常


*课后习题

题目:电脑产生一个零到100之间的随机数字,然后让用户来猜,如果用户猜的数字比这个数字大,提示太大,否则提示太小,当用户正好猜中电脑会提示,"恭喜你猜到了这个数是......"。在用户每次猜测之前程序会输出用户是第几次猜测,如果用户输入的根本不是一个数字,程序会告诉用户"输入无效"。

解答如下

import random

secret = random.randint(1,100) #[1,3]之间的随机数

i = 1

while True:

    print('这是第%d次猜测'%i)

    try:

        temp = input("请输入数字:")

        guess = int(temp)

    except ValueError:

        print('输入无效')

    else:

        if guess > secret:

            print("太大了")

        else:

            if guess == secret:

                print("恭喜你猜到了这个数是:%d"%secret)

                break

            else:

                print("太小了")

        i += 1

print("游戏结束")

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