我正在使用分佈式應用程序,並在類的主要方法中獲取異常。我怎麼知道哪個java程序調用了它?我嘗試調試分佈式應用程序,但無法弄清楚。如何知道調用的java程序的父類?
回答
比方說,Java類A調用Java類B(如「java classB」)。我在B類中得到異常。我如何知道哪個類調用了「java classB」?
您無法知道從ClassB調用了哪個java進程。異常只會從它自己的進程中調用它自己的棧。如果別的東西開始了這個過程,即使它是java本身,也沒有辦法從ClassB中知道這一點。
您最好使用ClassA的有用日誌記錄(包括調試/信息消息和異常堆棧跟蹤)。您必須確保ClassB在失敗時退出(以不爲0的代碼退出),然後ClassA可以在其生成的過程中看到此故障。
謝謝Gweebz - 我花了一些時間在代碼中放置斷點,printf,但無法弄清楚。所以,想要找出這個問題是否可以從B類中找出來。 –
嘗試獲取當前堆棧跟蹤並查看誰調用了您的主要方法。
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
我得到了堆棧跟蹤,但它沒有顯示父類。假設Java Class A調用Java Class B(如「java classB」)。我在B類中得到異常。我如何知道哪個類調用了「java classB」? –
下面是 「異常」 的Javadoc:
http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html
有幾件事情你可以用異常對象做除了通話 「的getMessage()」。例如,你可以「printStackTrace()」(告訴你它是如何被調用的,以及它在哪裏被拋出)。
我得到了堆棧跟蹤,但它沒有顯示父類。假設Java Class A調用Java Class B(如「java classB」)。我在B類中得到異常。我如何知道哪個類調用了「java classB」? –
- 1. 如何知道java中的包的類?
- 2. 如何知道子程序調用的過程?在excel vba
- 3. 如何知道Java應用程序使用的所有類/ jar文件
- 4. 如何知道Eclipse用來運行java程序的命令行?
- 5. 如何知道Java程序使用的內存
- 6. 如何知道調用繼承類的方法的類?
- 7. 子類調用父類遞歸的Java
- 8. 如何在使用RedirectToAction時知道調用者/父ActionResult?
- 9. 任何人都知道如何繼承擴展類的父項?
- 10. 如何在java中知道我的類和方法的調用者?
- 11. 如何知道誰是給定線程ID的父線程
- 12. 如何知道linux調度程序的時間片?
- 13. 知道什麼應用程序調用我的遠程服務
- 14. 我如何知道Widget調用處理程序或事件?
- 15. 如何知道函數的調用者
- 16. 知道程序
- 17. 如何知道在黑莓中調用的應用程序的當前狀態?
- 18. JAVA:知道從哪裏調用靜態方法的方法/類
- 19. 如何知道在java中調用特定方法的次數
- 20. 如何調用在Java中有另一個父類的父類方法?
- 21. 知道如果兒童類實現一個父類的方法
- 22. Java對象通知父類
- 23. PHP類 - 如何讓一個類知道父值
- 24. 如何製作調用其他類的方法的java程序?
- 25. 如何讓java ClassLoader知道可用的類?
- 26. 如何知道我的應用程序使用的RAM
- 27. Twitter的API:如何知道使用的應用程序遵循
- 28. iphone應用程序如何知道其他應用程序?
- 29. 界面如何知道哪個類的方法調用?
- 30. 如何知道函數的調用者類
堆棧跟蹤呢?你是什麼意思,調用程序的父類? –
需要更多細節,這是一個RMI應用程序嗎? –
這不是RMI調用,只是調用一個Java應用程序。 –