亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

Python 异常处理:try、catch、finally 和 raise [示例]

什么是 Python 中的异常处理?

异常是在程序执行时发生的错误。但是,在运行程序时,Python 会生成一个异常,应该对其进行处理以避免程序崩溃。在 Python 语言中,异常会在错误时自动触发,也可以由您的代码触发和拦截。

异常表明,尽管事件可能发生,但这种类型的事件很少发生。当方法不能处理异常时,它会被抛出给它的调用者函数。最终,当主函数抛出异常时,程序突然终止。

在本 Python 异常处理教程中,您将学习到:

常见异常示例:

为什么要使用异常?

以下是在 Python 中使用异常的原因:

例外规则

以下是 Python 异常处理的一些基本规则:

Python 异常处理机制

异常处理由以下 5 个关键字管理:

  1. 试试
  2. 赶上
  3. 终于
  4. 投掷

Python Try 语句

一条 try 语句包括关键字 try,后跟一个冒号 (:) 和一套可能发生异常的代码。它有一个或多个子句。

在 try 语句的执行过程中,如果没有发生异常,解释器将忽略该特定 try 语句的异常处理程序。

如果在 try 套件中发生任何异常,则该 try 套件会过期,并且程序控制会转移到该 try 套件之后的匹配的 except 处理程序。

Syntax:
try:
statement(s)

catch 语句

Catch 块一次接受一个参数,这是它可能捕获的异常类型。这些参数的范围可以从可以变化的特定类型的异常到包罗万象的异常类别。

catch 块规则:

示例:

try
}
catch (ArrayIndexOutOfBoundsException e) {
System.err.printin("Caught first " + e.getMessage()); } catch (IOException e) {
System.err.printin("Caught second " + e.getMessage());
}

Python 中的 Finally 语句

不管是否抛出异常,finally 块总是执行。 final 关键字允许您创建一个跟随 try-catch 块的代码块。

最后,从句是可选的。它旨在定义应在所有条件下执行的清理操作。

try:
    raise KeyboardInterrupt
finally:
    print 'welcome, world!'
Output
Welcome, world!
KeyboardInterrupt

最后,子句在try语句之前执行。

Python 中的引发语句

raise 语句指定初始化异常对象的参数。在这里,一个逗号跟在异常名称后面,以及跟在逗号后面的参数或参数的元组。

语法:

raise [Exception [, args [, traceback]]]

在这种语法中,参数是可选的,在执行的时候,异常参数的值总是none。

示例:

Python 异常可以是任何值,例如字符串、类、数字或对象。大多数由 Python 核心引发的异常都是带有参数的类,该参数是类的实例。

重要的 Python 错误

错误类型 说明
算术错误 ArithmeticError 充当所有算术异常的基类。它是针对算术运算中的错误而引发的。
导入错误 ImportError 在您尝试导入不存在的模块时引发。如果您输入错误的模块名称或标准路径中不存在的模块,则会发生这种异常。
索引错误 当您尝试引用超出范围的序列时会引发 IndexError。
密钥错误 当在字典中找不到特定键时,会引发 KeyError 异常。
名称错误 当在本地或全局命名空间中不存在的代码中引用了名称时,会引发 NameError。
值错误 当函数或内置操作接收到可能是正确类型但没有合适值的参数时,会引发值错误。
EOF错误 当内置函数之一(input() 或 raw_input())在没有读取任何数据的情况下达到 EOF 条件时会引发此类错误。
ZeroDivisonError 这种类型的错误是在所有数字类型发生除零或模数为零时引发的。
IOError- 当输入/输出操作失败时会出现这种错误。
语法错误 Python 语法出错时引发 SyntaxErrors。
缩进错误 缩进未正确定义时引发此错误

其他重要的 Python 异常

异常 说明
算术异常 算术错误,例如被零除。
ArrayIndexOutOfBoundsException 数组索引超出范围。
ArrayStoreException Assignment 帮助你对不兼容类型的数组元素进行赋值。
ClassCastException 无效的演员表
MlegalMonitorStateException 非法的监视器操作,例如等待未锁定的线程。
MlegalStateException 环境或应用程序处于错误状态。
ClassNotFoundException 找不到类。
CloneNotSupportedException 尝试克隆一个没有实现 Cloneable 接口的对象。
非法访问异常 对类的访问被拒绝。
实例化异常 当您尝试创建接口或抽象类的对象时发生。
CloneNotSupportedException 尝试克隆一个没有实现接口的对象。

错误与异常

错误 例外情况
Python 中的所有错误都是未经检查的类型。 异常包括选中和未选中类型。
运行时发生编译器未知的错误。 可以借助 try-catch 块处理异常来恢复它们。
错误大多是由应用程序运行的环境引起的。 应用程序本身导致异常。
示例:
OutofMemoryError
示例:
Checked Exceptions、SQL exception、NullPointerException等

总结


Python

  1. Python 数据类型
  2. Python 运算符
  3. Python pass 语句
  4. Python 函数参数
  5. Python字典
  6. Python 异常处理使用 try、except 和 finally 语句
  7. Python 迭代器
  8. Python 闭包
  9. Java 异常处理
  10. Java 尝试...捕获
  11. C++ 异常处理:Try、Catch、throw 示例
  12. Python 异常处理:try、catch、finally 和 raise [示例]