首页 / PYTHON / python异常处理机制
python异常处理机制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python异常处理机制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3212字,纯文字阅读大概需要5分钟。
内容图文
![python异常处理机制](/upload/InfoBanner/zyjiaocheng/607/ad269c47174a496c9c0b865563245a8d.jpg)
异常的处理:
>>>>>>>异常的捕获<<<<<
语法
Try:
尝试执行代码
可能出现异常的代码
Except:
出现错误的处理
如果try部分出现了异常,expcept部分一定会执行
Except()部分主要用来捕获异常,并处理异常
一次捕获多个异常的语法:
Try:
可能出现异常的代码
Except(异常的类型1,异常的类型2,异常的类型3):
捕获任意类型异常 格式:except Exception:
获取异常的错误信息,给异常类型起别名
Except 异常类型名 as 别名
(别名中记录异常的信息)
try: lt = [10,20] print(lt[5]) except NameError as ret: print("已经捕获到变量未定义异常了,对异常进行处理,ret:",ret) except ValueError as exp: print("已经捕获到值错误异常,对异常进行处理,exp:",exp) except Exception as exp: print("捕获到任意类型异常了,对异常进行处理---exp:",exp) print("程序结束了")
访问异常信息:
Args:该属性返回异常的错误编号和描述字符串
Errno:该属性返回异常的错误编号
Strerror:该属性返回异常的描述字符串
With_traceback():通过该方法可处理异常的传播轨迹信息
def foo(): try: fis = open("a.txt"); except Exception as e: print(e.args ) print(e.errno) print(e.strerror) foo()
使用raise引发异常:
要想引发异常,最简单的形式就是输入关键字raise,后跟要引发的异常的名称。关键字raise是用来抛出异常的,一旦抛出异常后,后续的代码将无法运行。
raise 语句的基本语法格式为
raise [exceptionName [(reason)]]
其中,用 [] 括起来的为可选参数,其作用是指定抛出的异常名称,以及异常信息的相关描述。如果可选参数全部省略,则 raise 会把当前错误原样抛出;如果仅省略 (reason),则在抛出异常时,将不附带任何的异常描述信息。
raise 语句有如下三种常用的用法:
1,raise:单独一个raise,该语句引发当前上下文中捕获的异常(比如在except块中),或默认引发RuntimeError异常。
try: a = input("输入一个数:") if(not a.isdigit()): raise except RuntimeError as e: print("引发异常:",repr(e))
2.raise异常类:raise后带一个异常类。该语句引发指定异常类的默认实例。
try: a = input("输入一个数:") #判断用户输入的是否为数字 if(not a.isdigit()): raise ValueError("a 必须是数字") except ValueError as e: print("引发异常:",repr(e))
3.Raise异常对象:引发指定的异常对象。
try: a = input("输入一个数:") if(not a.isdigit()): raise ValueError("a 必须是数字") except ValueError as e: print("引发异常:",repr(e)) raise
Python 的异常传播轨迹:
Traceback模块:
Traceback.print_exc():将异常传播轨迹信息输出到控制台或指定文件中
Format_exc():将异常传播轨迹信息转换成字符串
Print_exception(etype,value,tb[,limit[,file]])
Etype:指定异常类型
Value:指定异常值
Tb:指定异常的traceback信息。
实现异常的完整语法:
# 实现异常的完整语法 try: # 可能会出现异常的代码 except 异常类型1: # 针对该异常类型的处理代码 except 异常类型2: # 针对该异常类型的处理代码 except 异常类型3: # 针对该异常类型的处理代码 except Exception as exp: # exp中获取异常的错误信息 # except部分只有在发生异常时才会执行 else: # else部分在没有发生异常时才会执行 finally: # finally部分无论有没有异常都会执行
自定义抛出异常:
# 定义 input——password 函数 提示用户输入密码 def input_password(): pwd = input("请输入密码:") # 如果用户输入长度<8,抛出异常 if len(pwd)<8: print("抛出异常") # 使用exception类创建对象 ex = Exception("错误:密码长度小于8位") # 使用raise 跑出异常对象 raise ex # 如果用户输入长度 >=8 返回输入密码 else: return pwd try: ret =input_password() print(ret) except Exception as exp: print("捕获任意类型异常,exp:",exp)
内容总结
以上是互联网集市为您收集整理的python异常处理机制全部内容,希望文章能够帮你解决python异常处理机制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。