2011-07-26 52 views
0

我想使用Jpype調用Java庫。我的java代碼拋出NullPointerException,但我無法打印堆棧跟蹤。我嘗試了教程http://jpype.sourceforge.net/doc/user-guide/userguide.html中給出的方法,但它不起作用。如何使用JPype捕獲並顯示java.lang.RuntimeException的stacktrace

任何想法?

+0

當你說你不能printStackTrace你的意思是,你不能通過pype代碼捕捉異常? – Bitmap

+0

我能夠捕捉異常,但它不是java.lang.NullPointerException。通過調用異常對象的javaClass()方法,我得到一個類對象,但不知道如何獲取java對象。 –

+0

控制甚至不在except塊內部。 –

回答

1

在我正在使用的JPype版本(0.5.4.2 from Ubuntu Precise)中,API與JPype網站(您的鏈接)中記錄的API不同。我可以得到一個堆棧跟蹤這樣的:

import jpype 
... 
try: 
    doSomething() 
except jpype.JavaException as exception: 
    print exception.message() 
    print exception.stacktrace() 

注意堆棧跟蹤方法沒有大寫字母「T」,它被稱爲的實例,而不是類,文檔不同。

相關問題