我有很多代碼使用並期望java.util.Date,我想遷移到org.joda.time.LocalDate。問題是大部分代碼都是動態輸入的。攔截Groovy中的ClassCastException?
所以我不知道是否有任何常規的方法來攔截ClassCastException,在運行時做的轉換(而不是讓異常冒泡)並記錄操作(以便我可以修復代碼)。
例子:
import org.joda.time.LocalDate
def someMethod(date) {
println date.year()
}
// this call is ok
someMethod(new LocalDate())
// this call raises an exception
someMethod(new Date())
我不想修改上面的代碼,例如,圍繞着一個try-catch第二個電話並用正確的類型回顧。我想要在全球範圍內做到這一點。
如果2.0使用@Typed來防止這種情況發生 – farmer1992
您可以發佈一些代碼片段嗎? – Will