2011-11-24 85 views
3

我遇到了某人寫的代碼,這個代碼發現了一些異常,並嘗試將其記錄爲ERROR而不打印堆棧跟蹤。 我希望下面的使用查找鬆散異常堆棧跟蹤的日誌語句

log.error("message", exception); 

但是它是

log.error("message"); 

如何通過靜態代碼分析或任何這樣的工具捕捉這些編碼錯誤?

+0

也許FindBugs的有一個規則(或者讓你定義一個)。 – Thilo

回答

0

您可以使用Eclipse並做文件搜索在你的工作空間與正則表達式這樣的:

^.*\.(error|debug|info)\([^,]*\);$ 

這是你會看到在搜索面板的結果是最好的選擇能夠直接通過雙擊來跳轉到文件/線。

也像Notepad++一個簡單的編輯器可以用正則表達式,其查找做的工作在文件選項啓用。不幸的是,記事本+ +是不是能夠做一個正則表達式OR(this|that)所以要找到log.debug(...) S和log.info(...)是你需要手動更換error關鍵字。只需選擇你的項目的目錄,並使用這樣的模式:

^.*\.error\([^,]*\);$ 
0

您可以在IDE中找到Log.error(String)的所有用法,並檢查它們是否不在catch異常塊中。這不是那種你應該定期檢查的東西,也就是從錯誤中學習更好。