首页 / PYTHON / python错误与异常的简记
python错误与异常的简记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python错误与异常的简记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3494字,纯文字阅读大概需要5分钟。
内容图文
python错误和异常
1、assert(断言)用于判断一个表达式,在表达式为false时触发异常。assert可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况,例如我们的代码只能在 Linux 系统下运行,可以先判断当前系统是否符合条件。
其语法:assert expression 等价于:
if not expression:
raise AssertionError
2、除了语法分析器发现的语法错误外,到运行期也可能会发生错误,此时称之为异常:如ZeroDivisionError,NameError 和 TypeError等等。
异常处理:
1)try/except:异常捕捉:
架构:
try:{#一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
执行代码。(如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。)
}
except:{#异常类型符合时,将执行下面代码,如果一个异常没有与任何的 excep 匹配,那么这个异常将会传递给上层的 try 中。
发生异常时执行的代码。(没有发生异常时,此部分会被忽略)
}
备注:一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,例如:
except (RuntimeError, TypeError, NameError):
pass
另外,最后一个except子句可以忽略异常的名称,它将被当作通配符使用。
2)try/except...else:try/except 语句还有一个可选的 else 子句,如果使用这个子句,那么必须放在所有的 except 子句之后。
架构:
try:{#一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
执行代码。(如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。)
}
except:{#异常类型符合时,将执行下面代码,如果一个异常没有与任何的 excep 匹配,那么这个异常将会传递给上层的 try 中。
发生异常时执行的代码。(没有发生异常时,此部分会被忽略)
}
else:{
没有异常时执行的代码
}
3)try-finally:try-finally 语句无论是否发生异常都将执行最后的代码。
架构:
try:{#一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
执行代码。(如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。)
}
except:{#异常类型符合时,将执行下面代码,如果一个异常没有与任何的 excep 匹配,那么这个异常将会传递给上层的 try 中。
发生异常时执行的代码。(没有发生异常时,此部分会被忽略)
}
else:{
没有异常时执行的代码
}
finally:{
不管有没有异常都会执行的代码
}
4)抛出异常:raise:Python 使用 raise 语句抛出一个指定的异常。
语法:raise [Exception [, args [, traceback]]]
eg:
x = 10
if x > 5:
raise Exception('x 不能大于 5。x 的值为: {}'.format(x))
执行以上代码会触发发异常:
Traceback (most recent call last):
File "test.py", line 3, in <module>
raise Exception('x 不能大于 5。x 的值为: {}'.format(x))
Exception: x 不能大于 5。x 的值为: 10
3)预定义的清理行为:关键词 with 语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行他的清理方法:
eg:
with open("myfile.txt") as f:
for line in f:
print(line, end="")
以上这段代码执行完毕后,就算在处理过程中出问题了,文件 f 总是会关闭。
内容总结
以上是互联网集市为您收集整理的python错误与异常的简记全部内容,希望文章能够帮你解决python错误与异常的简记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。