Jython 错误与异常处理全解析
1. Jython 异常概述
Jython 的异常定义在 org.python.core.exceptions
类中,该类的源码包含了异常的层次结构。当我们在编程时,会遇到各种违反规则的情况,Jython 解释器会通过抛出异常来强制执行规则。例如:
- 不能除以零。
- 不能访问不存在的名称。
- 不能使用超过机器可用的内存。
从 Jython 2.1 版本开始引入了警告机制,这为原本非黑即白的异常处理带来了一些灵活性。
1.1 常见异常示例
我们可以在 Jython 的交互式解释器中创建异常情况来研究这些异常,以下是一些常见错误及引发的异常示例:
# 访问未定义的变量
>>> print x
Traceback (innermost last):
File "<console>", line 1, in ?
NameError: x
# 访问超出列表范围的索引
>>> L = []
>>> print L[1]
Traceback (innermost last):
File "<console>", line 1, in ?
IndexError: index out of range: 1
# 调用不存在的方法
>>> L.somemethod() # Calling a non-existent method name is an error
T