一篇文章带你了解python异常基础
一篇文章带你了解python异常基础,博智网带你了解详细信息 。
目录
- 1. 程序中的问题
- 1.1 低级语法错误
- 1.2 中介错误:代码存在隐性错误
- 1.3 高级错误:软件面对不确定性的异常错误
- 2. 捕捉异常
- 2.1 基本异常捕捉语句
- 2.2 带finally子句的异常处理
- 2.3 try-except-else 结构
- 2.4 try-except-else-finally 结构
- 2.5 捕捉特定异常信息
- 3. 抛出异常
- 总结
1. 程序中的问题
1.1 低级语法错误低级错误纯属语法错误 , 代码主要在编写、调试阶段就报错 。
>>> if TrueSyntaxError: invalid syntax>>>
上述错误是初学时很容易犯的语法错误 , True后面缺少冒号(:) 。
1.2 中介错误:代码存在隐性错误隐形错误主要是指代码编写存在逻辑错误或缺陷 , 当程序满足特定数据处理条件时 , 报错或给出错误答案 。
>>> def print_D(dic): i=0 len1=len(dic) while i < len1:print(dic.popitem())#随机删除并返回一个元素i+=1>>> print_D({1:'a',2:'b'})(2, 'b')(1, 'a')
【一篇文章带你了解python异常基础】上述代码能够正常运行 , 但是在实际的程序使用过程中 , 可能另一个程序员传递一个非字典对象后 。
>>> print_D([1,2,3,4])Traceback (most recent call last):File "<pyshell#11>", line 1, in <module>print_D([1,2,3,4])File "<pyshell#9>", line 5, in print_Dprint(dic.popitem())AttributeError: 'list' object has no attribute 'popitem'
错误的传递对象导致了正常程序出错 , 这就是隐性错误 。隐性错误的特点是正常情况下程序正常运行 , 特殊情况下(如边界值没有考虑到 , 传入数据没有仔细检查类型等)出错 。有些隐性错误甚至不报错 , 而是由结果输出 , 这是最糟糕的情况 。
1.3 高级错误:软件面对不确定性的异常错误高级错误指不确定性的错误 , 主要指软件的代码本身没有问题 , 所输入的数据也能得到控制或保证 , 而是在运行过程中环境所带来的不确定性异常 。如:
(1)软件本身去尝试打开一个文件 , 而这个文件已经被破坏或独占(独占指一个进程(线程)处理过程 , 其他进程(线程)无法同步处理 , 只能等待这个进程(线程)处理完成 , 其他进程(线程)才能继续操作) 。
(2)软件在往数据库插入数据过程中 , 突然网络中断 , 导致数据丢失
(3)软件运行硬件出现故障 , 导致软件无法正常运行等
(4)数据库系统被破坏 , 软件读写数据报错
(5)软件输入内容过度复杂或存在错误操作 , 。
2. 捕捉异常
2.1 基本异常捕捉语句基本异常捕捉语句语法
try: 代码模块1except: 代码模块2
try关键字 , 表示捕捉异常语句的开始;代码模块1 , 属于正常需要执行的代码模块;except关键字 , 用于捕捉异常信息 , 并可以给出出错信息(默认英文提示) 。



3. 抛出异常python允许程序员自己触发异常 , 可以通过raise关键字来实现 , 使用格式:
raise [Exception]
Exception参数可选 , 其对象如上表所示的Exception类的子类 。
示例一:不带参数的触发
>>> raiseTraceback (most recent call last):File "<pyshell#52>", line 1, in <module>raiseRuntimeError: No active exception to reraise>>>
代码通过raise子句抛出一个没有问题的异常信息 。
示例二:带参数的触发
>>> i='1'>>> if type(i)!=int: raise TypeError('i类型出错!')Traceback (most recent call last):File "<pyshell#57>", line 2, in <module>raise TypeError('i类型出错!')TypeError: i类型出错!>>>
总结本篇文章就到这里了 , 希望能给你带来帮助 , 也希望您能够多多关注趣讯吧的更多内容!
推荐阅读
- ps金属光泽要怎么做
- 苹果13桌面小组件照片怎么设置
- etc余额不足让通行吗
- cdr中要怎么进行居中对齐
- word表格上下错开怎么对齐
- 美团会员在哪里买
- cdr导出pdf应该咋操作
- cdr导出应该如何操作
- cdr文件要怎样导出jpg
- 华为手机怎么调出小窗口
