Java反射执行方法时候捕获InvocationTargetException异常

公司项目中使用了Java的反射,通过反射执行别人的方法时候抛出了一个“java.lang.reflect.InvocationTargetException”的异常,百度了一下看的云里雾里的。

查看Java手册的解释是:InvocationTargetException 是一种包装由调用方法或构造方法所抛出异常的经过检查的异常。依然是很难理解。

因为涉及到跨组调试等问题,只能继续Google。最终还是在stackoverflow看到一个比较靠谱的解释“From the Javadoc of Method.invoke()
Throws: InvocationTargetException - if the underlying method throws an exception.
This exception is throw if the method called threw an exception.
”,应该是因为反射执行的方法里抛出了异常造成的。

Via:Chairo@2011年12月21日-EOF-

Java七宗罪

最近在小小学习一些Java的东西,之前对Java就没有兴趣,一则因为Java有太多框架,而且JVM虚拟机让人很恶心…但奇怪的是Java的人反而一直以Java为荣……

简单列一下不喜欢Java的几个方面

  • 臃肿,和VS.NET有一拼
  • IDE功能庞大但友好性太差,点一下等提示要等好久,方法不能直接提示注释,输入类名也不会自动补全
  • 配置,到处是配置,而又没有自动提示,没有强校验,IDE不会检查配置文件是否正确…
  • 原来Java慢了也是需要重启的,号称几百年不重启的Linux也因为这个需要经常重启
  • 内存总是不够用
  • .NET有的弊端Java一个不少,.NET 4.0以后的特色Java却远远不足
  • 学习难度远高于.NET,开发速度等却远不如.NET

综上所述:Java是一个非常坑爹的玩意。

Via:Chairo@2011年11月11日-EOF-