码迷,mamicode.com
首页 > 编程语言 > 详细

python 基础---异常处理

时间:2018-08-06 19:17:59      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:print   文件   ima   代码块   info   exe   font   工作   bsp   

程序一旦发生错误,就从错误的位置停下来了,不在继续执行后面的内容
使用try和except就能处理异常
1 try:
2      被检测的代码块
3 except 异常类型:
4      try中一旦检测到异常,就执行这个位置的逻辑
try
我们需要处理的代码

except
  • 后面跟一个错误类型 当代码发生错误且错误类型符合的时候 就会执行except中的代码
  • 支持多分支
Exception
  • 万能的处理机制
  • 有了万能的处理机制仍然需要把能预测到的问题单独处理
  • 单独处理的所有内容都应该写在万能异常之前
else 
没有异常的时候执行else中的代码


finally
  • 不管代码是否异常,都会执行
  • 常用于文件、数据库等关闭
  • finally和return相遇的时候 依然会执行
  • 函数里做异常处理用,不管是否异常去做一些收尾工作
举例:
1 ret = int(input(number:))
2 print(ret)
技术分享图片

 处理1:(except 后面跟一个错误类型 当代码发生错误且错误类型符合的时候 就会执行except中的代码

1 try:
2     ret = int(input(number:))
3     print(ret)
4 except ValueError:
5     print("请输入数字")

处理2:(Exception万能处理,不需要错误类型

1 try:
2     ret = int(input(number:))
3     print(ret)
4 except Exception:
5     print("请输入数字")

处理3:

1 try:
2     ret = int(input(number:))
3     print(ret)
4 except Exception as error:
5     print(你错了,老铁,error)

处理4:(多分支)

 1 s1 = hello
 2 try:
 3     int(s1)
 4 except IndexError as e:
 5     print(e)
 6 except KeyError as e:
 7     print(e)
 8 except ValueError as e:
 9     print(e)
10 except Exception as e:
11     print(e)

处理5:(else和finally)

 1 s1 = hello
 2 try:
 3     int(s1)
 4 except IndexError as e:
 5     print(e)
 6 except KeyError as e:
 7     print(e)
 8 except ValueError as e:
 9     print(e)
10 #except Exception as e:
11 #    print(e)
12 else:
13     print(try内代码块没有异常则执行我)
14 finally:
15     print(无论异常与否,都会执行该模块,通常是进行清理工作)

python 基础---异常处理

标签:print   文件   ima   代码块   info   exe   font   工作   bsp   

原文地址:https://www.cnblogs.com/dzc18/p/9431926.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!