try-except语句的应用(超详细的学习笔记)

一、前言

看下面小程序:

num=eval(input("请输入一个数:"))
print(num**2)

结果:

请输入一个数:2
4

如果我们输入的不是数会发生什么
结果:

请输入一个数:no
Traceback (most recent call last):
  File "C:\Users\我的电脑\AppData\Local\Programs\Python\Python35-32\样本.py", line 1, in 
    num=eval(input("请输入一个数:"))
  File "", line 1, in 
NameError: name 'no' is not defined

可以看到,Python解释器返回了异常信息,同时推出了程序。

二、异常处理

Python使用try-except语句来实现异常处理,其基本语法格式如下:

try:
    <语句块1>
except <异常类型>:
    <语句块2>

代码如下:

try:
    num=eval(input("请输入一个数:"))
    print(num**2)
except NameError:
    print("输入错误,请重新输入一个数")

结果:

请输入一个数:no
输入错误,请重新输入一个数

三、try-except的高级用法

(1)高级用法1

语法格式如下:

try:
    <语句块1>
except <异常类型1>:
    <语句块2>    
...
except <异常类型N>:
    <语句块N+1>
except:
    <语句块N+2>

其中,第一到第N个except语句后面都指定了异常类型,说明这些except所包含的语句块只处理这些类型的异常。最后一个except语句没有指定任何类型,表示它对应的语句块可以处理所有其他异常。
代码如下:

try:
    list=["a","b","c","d","e","f"]
    num=eval(input("请输入一个整数作为索引:"))
    print(list[num])
except NameError:
    print("输入错误,请重新输入一个整数")
except:
    print("其他错误")

结果:

请输入一个整数作为索引:2
c

请输入一个整数作为索引:no
输入错误,请重新输入一个整数

请输入一个整数作为索引:2.3
其他错误

(2)高级用法2

语法格式:

try:
    <语句块1>
except<异常类型1>:
    <语句块2>
else:
    <语句块3>
finally:
    <语句块4>

解释
1、此处的else语句与for循环和while循环中else一样,当try中的语句块1正常执行结束且没有发生异常时,else中的语句块3执行。

2、finall语句块则不一样,无论try中的语句块1是否发生异常,语句块4都会执行,因此将程序执行语句块1的一些收尾工作放在这里,例如:关闭、打开文件等。

补充:

我总结我所有python笔记于一篇博客里:
点击即可进入Python学习笔记大总结(我把我所有python笔记做了总结和学习顺序,点击即可进入相关博客。希望可以便于你们阅读)

你可能感兴趣的:(Python学习笔记,python,其他,经验分享,函数式编程,程序设计)