例如,調用層次是methodA-> methodB-> methodC-> methodD。是否有一種快速的方法來查找異常的catch子句?
在methodD中,引發了一個檢查的異常。在方法B中,異常被捕獲。
所以我的問題是,當我讀代碼,看到一個異常被拋出。有沒有一種快速的方法來找到異常被捕獲的代碼?
順便說一下,上下文是我重新構造應用程序中的所有異常。所以我正在考慮如何獲得更高的效率。
例如,調用層次是methodA-> methodB-> methodC-> methodD。是否有一種快速的方法來查找異常的catch子句?
在methodD中,引發了一個檢查的異常。在方法B中,異常被捕獲。
所以我的問題是,當我讀代碼,看到一個異常被拋出。有沒有一種快速的方法來找到異常被捕獲的代碼?
順便說一下,上下文是我重新構造應用程序中的所有異常。所以我正在考慮如何獲得更高的效率。
您需要查看IDE中的調用層次結構,並從methodD回到頂部以查找發生異常的位置。
或者你可以在你的調試器中拋出異常的地方進行下一行的斷點。 ;)
或者您可以打印堆棧跟蹤並選擇IDE中的每一行來查看堆棧跟蹤所反駁的代碼,並查看它是否會捕獲您異常。
上下文是我重新構造應用程序中的所有異常。所以我正在考慮如何獲得更高的效率。 – Smartmarkey
如果您想提高性能,我建議您使用CPU分析器。如果您的異常導致性能問題,如果不是,則它們將顯示爲問題(使用調用層次結構),則不需要更改它們。 –
不可以。其目的是使應用程序中的所有例外以有組織和統一的方式進行。現在很混亂。 – Smartmarkey
如果我正確地理解了你,你正在捕捉和記錄某處的異常,並且你想看到(在日誌中)哪個類/方法拋出異常。這裏有一些想法:
選項#2更復雜,但對於更大的代碼庫肯定更有效。
我無法理解你想要做什麼。方法B捕獲異常,方法B想知道哪個方法捕獲異常? – JimN
我的意思是當我讀代碼並看到一個異常被拋出。有沒有一種快速的方法來找到異常被捕獲的代碼? – Smartmarkey