我有很多代码使用并期望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