我找到了一个看起来像未经过测试的案例。尝试使用2to3转换以下代码时:
def test(arg):
raise()
执行停止不合理地没有任何指示原因,也没有什么文件导致问题,如果你试图转换python 2脚本的整个文件夹,这是非常烦人的。抛出以下内容:
...
exc= exc.children[1].children[0].clone()
IndexError: tuple out of range
我希望获得 BadInput 例外。很明显,鉴于上面的源代码,它期待raise("something")
,因为没有检查"孩子"在raise ()
的元组内部甚至存在,这会导致错误。
如果我错了,请纠正我,当然raise()
不正确,但这不应该导致执行崩溃,同样如下:
def test(arg):
print 1.method()
引发 BadInput 异常,并清楚地指示发生了什么。