博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python_day25__02__异常处理__try---exception—else---finally
阅读量:4676 次
发布时间:2019-06-09

本文共 2400 字,大约阅读时间需要 8 分钟。

#Author:'haijing' #date:2018/10/27 # try: #     #代码块 逻辑 #     pass # except Exception as e: #     #上述代码块如果出错,自动执行当前快的内容 #     pass # # while 1: #     try: #         inp = input('请输入序号:') #         i = int(inp) #     except Exception as e:  #一旦出错会将错误信息创建一个类Exception,对象名字叫e,即e就是类Exception的对象 #         print(e)  #输出错误信息 #         i = 1 #     print(i) #如果输入数字,那么正确的执行try中的内容,如果输入的是字母,那么去执行except中的代码 li = [1,2.3] li[999]  #错误类型:IndexError  如果把Exception换成IndexError,那么就不会去识别别的错误信息 int('qwer')  #错误类型:ValueError 如果把Exception换成ValueError,那么就不会去识别别的错误信息,直接出现错误页面 #Exception可以捕获所有错误 #IndexError和ValueError只能捕获各自的错误 #IndexError和ValueError只是Exception的一个子类 #还有很多子类 #一般情况下,先让子类上,最后老大再上 try:     pass except ValueError as e:     print('ValueError',e) except IndexError as e:     print('IndexError',e) except Exception as e:   #以上小弟解决不了了,那么老大再去上     print('Exception',e) else:     print('else')  finally:     print('finally') #如果try中的内容出错,那么就会去执行exception中的内容; # 如果try中的内容不出错,那么就会去执行else中的内容 (try中正确的内容也会执行的) #不管try中出不出错,都会去执行finally中的内容
#--------------主动触发异常 raise方法----------------#  ****** # try: #     raise Exception('不过了...')  #主动去触发异常 # except Exception as e: #     print(e)  #这样try中的内容和except中的内容都会去执行  ***** #--------------主动触发异常的应用----------------# # def db(): #     # return True  #表示执行成功 #     return False #表示执行失败 # def index(): #     try: #         result = db() #         if not result:  #表示db()没有执行成功 #             raise Exception('数据库处理错误')  #主动去触发异常,将错误信息保存到Exception类中去,对象名字为e #     except Exception as e: #         str_error = str(e)  #拿到错误信息:数据库处理错误,并将错误信息转换为字符串 #         print(str_error)  #这里可以将str_error写入到日志中 # # index() #--------------自定义异常,用到了__str__()方法----------------# #以前 class oldbayError(Exception):     def __init__(self,msg):         self.message = msg     def __str__(self):         return self.message obj = oldbayError('xxx') print(obj)  #打印xxx #现在 class oldbayError(Exception):     def __init__(self,msg):         self.message = msg     def __str__(self):         return self.message try:     raise oldbayError('我错了...')  #相当于创建对象e = oldbayError('xxx') except Exception as e:     print(e)  #执行e对象的__str__()方法,获取返回值之后再打印  (print()方法的执行步骤) #--------------断言assert方法----------------# # assert+条件 如果条件成立那么执行下一句,如果条件不成立,那么程序会报错,终止执行代码 print(23) assert 1==2  #程序会终止在这里 强制用户服从 print(456) haijng in HZ 你在远方的山上 春分十里 2018.10.28 中
 

转载于:https://www.cnblogs.com/YiYA-blog/p/9863785.html

你可能感兴趣的文章
手把手教您扩展虚拟内存
查看>>
android-samples-mvp
查看>>
oracle 11g r2安装
查看>>
关于自关联1
查看>>
存储控制器、MMU、flash控制器介绍
查看>>
hdu-1814(2-sat)
查看>>
自我反省
查看>>
反射,得到Type引用的三种方式
查看>>
pl sql练习(2)
查看>>
Problem B: 判断回文字符串
查看>>
谷歌浏览器,添加默认搜索引擎的搜索地址
查看>>
数据结构化与保存
查看>>
C# .net 获取程序运行的路径的几种方法
查看>>
为什么需要Docker?
查看>>
国内5家云服务厂商 HTTPS 安全性测试横向对比
查看>>
how to control project
查看>>
转 python新手容易犯的6个错误
查看>>
第四节 -- 列表
查看>>
Python入门学习笔记4:他人的博客及他人的学习思路
查看>>
webstorm里直接调用命令行
查看>>