【问题标题】:In Jython, how can I raise a Python Exception, not a java.lang.Exception?在 Jython 中,如何引发 Python 异常,而不是 java.lang.Exception?
【发布时间】:2016-06-25 23:31:05
【问题描述】:

这里是 Python 和 Jython 新手。

我非常熟悉如何在普通 Python 中引发异常。

但是,在 Jython 环境中,我发现自己处于 (WLST) 中,如果我这样做的话:

raise Exception("hello")

...然后它似乎引发了java.lang.Exception

wls:/offline> raise Exception("hello")
Traceback (innermost last):
  File "<console>", line 1, in ?
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

java.lang.Exception: java.lang.Exception: hello
wls:/offline> 

如何在这种环境中提升 Python Exception?或者,至少:为什么这里提出了java.lang.Exception

【问题讨论】:

    标签: jython wlst


    【解决方案1】:

    为了后代,我可以这样做:

    from exceptions import Exception as PythonException
    

    那么我可以这样做:

    raise Exception('This will be a java.lang.Exception.')
    raise PythonException('This will be a "native" Python exception.')
    

    【讨论】:

      猜你喜欢
      • 2020-04-28
      • 2017-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-24
      • 2020-11-09
      • 2016-12-15
      • 1970-01-01
      相关资源
      最近更新 更多