Python课程设计 第 28 / 52 篇

异常处理

任务名称:异常处理

任务简介:

1.    清楚常见的异常和异常捕获的形式

2.    能够自定义异常

思考话题:

什么时候需要自定义异常

打卡要求:

完成以下练习(第一题可以口述或者发文,第二题上传代码链接地址):

1.    详细说一下异常常见的种类

2.    程序设计:(以下这些是一个题目)  

自定义一个Integer类

     — 该类有个input方法,调用该方法一定会得到一个合法的数字(非数字为不合法,越界为不合法)

            ---- 如果是非数字不合法,需要打印不合法消息,然后用户需要重新输入

             — 如输入’abc’,不合法消息就为:invalid literal for int() with base 10: ‘abc’

            ---- 如果是越界不合法,需要打印不合法消息,然后用户需要重新输入

             — 如输入’2147483648’,不合法消息就为:ErrorMsg:2147483648 - 越界

            提示:

            1)该方法需要捕获并处理两次异常(内置异常ValueError,自定义异常SlopOverError)

            2)该方法运用到递归方式处理更简单,如果用不到递归也可以

                  — 该类有个verifySlopOver方法,可以判断传入的数字是否越界(非-2147483648 ~ 2147483647为越界)             ---- 如果数字越界,会主动抛出自定义SlopOverError异常,并传入数字和异常消息   自定义异常SlopOverError类

     — 该类需要重写__init__方法

            ---- 有number、massage两个参数,number是数字类型的数,massage是字符串类型的异常消息

     — 该类需要重写__str__方法

            ---- 通过number、massage两个属性格式化异常信息