使用android写的程序,在个别手机上出现空指针异常,很是不解为何没有正常捕获处理,等待高手解答
源码: public boolean register(String mima){
try{
String mingWen = decrypt(mima); String IMEI = getIMEI();

mIsRegister = MEI.equals(mingWen);
}catch(Exception e){
e.printStackTrace();
mIsRegister = false;
}
return mIsRegister;
}
private String decrypt(String miString) {
byte[] miByte = Base64.decode(miString);
byte[] mingByte = rsa.decrypt(miByte);
return new String(mingByte); }出错log java.lang.NullPointerException
at java.lang.String.<init>(String.java:198)
at com.anxing.englishgameII.Register.decrypt(Register.java:116)
at com.anxing.englishgameII.Register.register(Register.java:84)
at com.anxing.englishgameII.GameApp.onCreate(GameApp.java:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1045)

解决方案 »

  1.   

    你已经捕获了,这个异常堆栈是你用 e.printStackTrace(); 方法输出的。
      

  2.   

    try{}catch(Throwable e){}
    可以捕获一切exception
      

  3.   

    汗~~~你不是已经捕获了空引用异常了吗?而且空引用异常已经执行了捕获代码了啊。那就是e.printStack();你要问的是如何手动处理空引用异常吧?这个非常简单。只要在try块中相关语句中加一个if(Object!=null)就行了。。
    //没学过j2me,你这里报异常应该是String mingWen吧,只要你在判断一下if(minWen!=null){你的语句}
      

  4.   

    看了标题,我还以为是java的漏洞呢