前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(十六) 初遇python甚是喜爱之异常处理Try/Except操作

(十六) 初遇python甚是喜爱之异常处理Try/Except操作

作者头像
XXXX-user
修改2019-07-30 10:53:21
5070
修改2019-07-30 10:53:21
举报
文章被收录于专栏:不仅仅是python不仅仅是python

各位读者大大们大家好,今天学习python的异常处理操作,并记录学习过程欢迎大家一起交流分享。

首先在桌面新建一个文本文档testinfo.txt,用于异常测试:

然后新建一个python文件命名为py3_exception.py,在这个文件中进行操作代码编写:

代码语言:javascript
复制
#为了不影响运行结果,
#我把导致异常错误的代码
#注释掉了
#如果大家需要测试,
#取消注释即可

#首先我们打开一个不存在的文件
#f = open('test_info.txt')
#这里会出现异常
#FileNotFoundError: [Errno 2] 
#No such file or directory: 'test_info.txt'
#接下来把上面的代码放入异常处理代码块中
#运行代码
try:
  f = open('test_info.txt')
except Exception:
  print('文件不存在!')
#异常信息被捕捉到打印
#文件不存在!
#其中Exception是常见错误的基类
#开头可知文件不存在的时候具体出现的
#异常为FileNotFoundError
#是Exception的子类
#接下来看下面的例子:
try:
  #打开一个存在的文件,
  #该行代码会正常运行
  f = open('testinfo.txt')
   #声明一个变量赋值一个没有定义的值
  no_exist_var = bad_data
except Exception:
  print('文件不存在!')
#捕获到异常信息,但是提示信息不够清晰
#容易造成误解
#修改如下,改为具体捕捉到子类异常:
try:
  f = open('testinfo.txt')
  #声明一个变量赋值一个没有定义的值
  #no_exist_var = bad_data
except FileNotFoundError:
  print('文件不存在!')
#当我们运行上面的代码会抛除具体异常信息
#NameError: name 'bad_data' is not defined  
#我们对上面代码进行调整
try:
  f = open('testinfo.txt')
  #声明一个变量赋值一个没有定义的值
  no_exist_var = bad_data
except FileNotFoundError:
  print('文件不存在!')
except Exception:
  print('出现了异常情况!')
#接下来我们打印异常的具体信息
try:
  f = open('test_info.txt')
except FileNotFoundError as e:
  print(e)
except Exception as e:
  print(e)  
#打印结果No such file or directory: 'test_info.txt'

#如果没有发生异常的情况
#可用else做一些代码处理逻辑
try:
  f = open('testinfo.txt')
except FileNotFoundError as e:
  print(e)
except Exception as e:
  print(e)  
else:
  print(f.read())
  f.close()
#打印文件内容:人生苦短,需要python

####finally代码块
#不管发布发生异常
#都会执行
try:
  f = open('test_info.txt')#文件不存在
except FileNotFoundError as e:
  print(e)
except Exception as e:
  print(e)  
else:
  print(f.read())
  f.close()
finally:
  print('执行finally!!')
###使用raise抛出异常
#可以是自己定义的异常
try:
  f = open('testinfo.txt')#文件存在
  if f.name == 'testinfo.txt':
    raise Exception
except FileNotFoundError as e:
  print(e)
except Exception as e:
  print("出错了!!!!")  
else:
  print(f.read())
  f.close()
finally:
  print('执行finally!!')

以上代码运行得到的结果

代码语言:javascript
复制
文件不存在!
文件不存在!
出现了异常情况!
[Errno 2] No such file or directory: 'test_info.txt'
人生苦短,需要python
[Errno 2] No such file or directory: 'test_info.txt'
执行finally!!
出错了!!!!
执行finally!!

今天初学python的异常处理就到这里!

关注公号

下面的是我的公众号二维码图片,欢迎关注。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 yale记 微信公众号,前往查看

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

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

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