前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python异常处理--try...except

python异常处理--try...except

作者头像
py3study
发布2018-08-02 11:11:34
5310
发布2018-08-02 11:11:34
举报
文章被收录于专栏:python3python3

在python中,用try来测试可能出现异常的语句,然后用except来处理可能出现的异常,try except的表达形式如下:

try:

    语句

except [exception,[data...]]:

    Do something

except [exception,[data...]]:

    Do something

except [exception,[data...]]:

    Do something

意思是,尝试执行语句,如果出现某个异常则怎么做,因为同一个语句可能出现不同的异常,所以也会给出不同的解决方法,另外try还可以配合else,finally语句一起使用,不过这种情况比较少

以常见的输入数据异常为例,编写一个testtryinput.py实验一下,代码如下

代码语言:javascript
复制
# coding: utf-8
__author__ = 'www.py3study.com'
class tryinput(object):
    def __init__(self):
        self.len = 10
        self.numlist = self.createlist()
        self.getnum()

    def createlist(self):
        print(u"创建一个长度为{}的数字列表".format(self.len))
        numL = []
        while len(numL) < 10:
            n = input("请输入一个整数:")
            try:
                num = int(n)
            except ValueError:
                print(u"输入错误,要求输入一个整数")
                continue
            numL.append(num)
            print(u"现在的列表为:")
            print(numL)
        return numL

    def getnum(self):
        print(u"当前列表为:")
        print(self.numlist)
        instr = None
        while instr != 'EXIT':
            print(u"输入EXIT退出程序")
            instr = input("输入列表下标[-10,9]:")
            try:
                index = int(instr)
                num = self.numlist[index]
                print(u"列表中下标为{}的值为{}".format(index, num))
            except ValueError:
                print(u"输入有误,列表下标是一个整数")
                continue
            except IndexError:
                print(u"下标太大,访问列表超出范围")
                continue

if __name__ == '__main__':
    tl = tryinput()

应该看到的结果

"C:\Program Files (x86)\python3.6\python.exe" D:/python3_study/test_tryinput.py

创建一个长度为10的数字列表

请输入一个整数:x

输入错误,要求输入一个整数

请输入一个整数:1

现在的列表为:

[1]

请输入一个整数:2

现在的列表为:

[1, 2]

请输入一个整数:3

现在的列表为:

[1, 2, 3]

请输入一个整数:4

现在的列表为:

[1, 2, 3, 4]

请输入一个整数:5

现在的列表为:

[1, 2, 3, 4, 5]

请输入一个整数:6

现在的列表为:

[1, 2, 3, 4, 5, 6]

请输入一个整数:7

现在的列表为:

[1, 2, 3, 4, 5, 6, 7]

请输入一个整数:8

现在的列表为:

[1, 2, 3, 4, 5, 6, 7, 8]

请输入一个整数:9

现在的列表为:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

请输入一个整数:0

现在的列表为:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

当前列表为:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

输入EXIT退出程序

输入列表下标[-10,9]:a

输入有误,列表下标是一个整数

输入EXIT退出程序

输入列表下标[-10,9]:100

下标太大,访问列表超出范围

输入EXIT退出程序

输入列表下标[-10,9]:8

列表中下标为8的值为9

输入EXIT退出程序

输入列表下标[-10,9]:EXIT

输入有误,列表下标是一个整数

Process finished with exit code 0

这个程序就是针对输入出现的异常和访问列表越界的异常给出了解决方案,在编程过程中总会遇上各种各样的异常,考虑周全一点,思维缜密一点,善用try一点,程序的健壮性就不止强一点点

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档