最近抽空对交通违章查询软件进行了一些修补,深刻感觉到网络应用程序中对异常处理的重要性,要考虑的方方面面实在是太多了。期间遇到一个问题,写出来警示一下。
假定有下面类A:
public class A { private String info=""; public String getInfo() { return info; } try{ ... info="success"; }catch(Exception e){ info="wrong"; } }
在类A的try块中的内容不出错,则info赋值为success,其他类可通过A.getInfo()获取变量info的值。但是,如果try块中内容发生异常,则info虽能被正确赋值为wrong,但在其他类中,通过调用A.getInfo()获取的却是初始空值,不能获得wrong值。何解?个人分析,A类发生了异常之后,该类被销毁了,变量重新初始化了?有相关资料的童鞋麻烦分享一下。
目前我的处理方法就是,将info设为全局变量,以便可以在其他类中调用。
发表回复