专栏首页不仅仅是python(十六) 初遇python甚是喜爱之异常处理Try/Except操作

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

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

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

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

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

#首先我们打开一个不存在的文件
#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!!')

以上代码运行得到的结果

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

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

关注公号

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

本文分享自微信公众号 - yale记(python_yale_learning),作者:yale记

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 初遇python甚是喜爱之Integer整型与Float浮点型操作

    各位观众老爷们大家好,今天学习python的Integer整型与Float浮点型操作,并记录学习过程欢迎大家一起交流分享。

    亚乐记
  • (八) 初遇python甚是喜爱之Functions函数操作

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

    亚乐记
  • (十) 初遇python甚是喜爱之OS Module模块

    各位读者大大们大家好,今天学习python的OS Module模块,并记录学习过程欢迎大家一起交流分享。

    亚乐记
  • Python3 文件操作

    输出: {'1': {'日期': '1.2', '事项': 'wan', '耗时': '3'}}

    py3study
  • python3--文件操作

    rb,只读,以bytes类型读取(非文字类的文件时,用rb,比如图片,音频文件等)

    py3study
  • 8、python中的try/except/else/finally语句

    用实例来解释下Python中的try/except/else/finally语句的执行顺序

    测试邦
  • 这个任务派谁负责?

    用户5521279
  • python中的异常示例

    http://www.cnblogs.com/fnng/p/3518202.html

    py3study
  • [python]函数返回多个return

    py3study
  • python-基础案例

    范例一: 练习:元素分类 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,...

    洗尽了浮华

扫码关注云+社区

领取腾讯云代金券