Jython错误与异常处理全解析
1. Jython异常概述
Jython的异常定义在 org.python.core.exceptions
类中,该类的源码包含了异常的层次结构。在Jython中,当违反某些规则时,解释器会抛出异常,例如:
- 不能将数字除以零。
- 不能访问不存在的名称。
- 不能使用超过机器可用的内存。
Jython 2.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()
Traceback (innermost last):
File "<console>", line 1, in ?
AttributeError: 'list' object has no