python 异常
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python 异常,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1810字,纯文字阅读大概需要3分钟。
内容图文
异常
# 异常处理 """ Python 有两种错误很容易辨认:语法错误和异常 try/except try/except...else try-finally raise [Exception [, args [, traceback]]] """ # try/except 异常捕捉 # 一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行 # 一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组 """ except (RuntimeError, TypeError, NameError): pass try: # 尝试执行的代码 pass except 错误类型1: # 针对错误类型1,对应的代码处理 pass except (错误类型2, 错误类型3): # 针对错误类型2 和 3,对应的代码处理 pass except Exception as result: print("未知错误 %s" % result) """ try : x = int(input("请输入一个数字: ")) except ValueError: print("您输入的不是数字,请再次尝试输入!") # 捕获未知错误""" except Exception as result: print("未知错误 %s" % result) """# try/except...else 使用这个子句,那么必须放在所有的 except 子句之后 # else 子句将在 try 子句没有发生任何异常的时候执行 # 使用 else 子句比把所有的语句都放在 try 子句里面要好,这样可以避免一些意想不到,而 except 又无法捕获的异常try: f = open(‘arg‘, ‘r‘) except IOError: print(‘cannot open‘, ‘arg‘) else: print(‘arg‘, ‘has‘, len(f.readlines()), ‘lines‘) f.close() # try-finally 语句 无论是否发生异常都将执行最后的代码def runoob(): passtry: runoob() except AssertionError as error: print(error) else: try: with open(‘file.log‘) as file: read_data = file.read() except FileNotFoundError as fnf_error: print(fnf_error) finally: print(‘这句话,无论异常是否发生都会执行。‘) # 抛出异常 raise [Exception [, args [, traceback]]] # raise 唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是异常的类(也就是 Exception 的子类) x = 10 if x > 5: raise Exception(‘x 不能大于 5。x 的值为: {}‘.format(x)) # 用户自定义异常 # 你可以通过创建一个新的异常类来拥有自己的异常。异常类继承自 Exception 类,可以直接继承,或者间接继承class MyError(Exception): def__init__(self, value): self.value = value def__str__(self): return repr(self.value) # with 关键词 with 语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行他的清理 # 文件 f 总是会关闭 with open("myfile.txt") as f: for line in f: print(line, end="") # 异常的传递""" 在开发中,可以在主函数中增加 异常捕获 而在主函数中调用的其他函数,只要出现异常,都会传递到主函数的 异常捕获 中 这样就不需要在代码中,增加大量的 异常捕获,能够保证代码的整洁 """
原文:https://www.cnblogs.com/ddf128/p/12007473.html
内容总结
以上是互联网集市为您收集整理的python 异常全部内容,希望文章能够帮你解决python 异常所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。