python异常处理输入不是整数_python异常处理--try...except

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

发布时间:2017-11-11 18:44:45编辑:Run阅读(1881)

在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实验一下,代码如下# 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一点,程序的健壮性就不止强一点点

关键字:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值