Java为何使用 catch Exception e 无法捕获NullPointerException解决思路
Java为何使用 catch Exception e 无法捕获NullPointerException
使用android写的程序,在个别手机上出现空指针异常,很是不解为何没有正常捕获处理,等待高手解答
源码:
出错log
------解决方案--------------------
你已经捕获了,这个异常堆栈是你用 e.printStackTrace(); 方法输出的。
------解决方案--------------------
try{
}catch(Throwable e){
}
可以捕获一切exception
------解决方案--------------------
汗~~~
你不是已经捕获了空引用异常了吗?
而且空引用异常已经执行了捕获代码了啊。。。。那就是e.printStack();
你要问的是如何手动处理空引用异常吧?这个非常简单。。。。只要在try块中相关语句中加一个if(Object!=null)就行了。。。。。
//没学过j2me,你这里报异常应该是String mingWen吧,只要你在判断一下if(minWen!=null){你的语句}
使用android写的程序,在个别手机上出现空指针异常,很是不解为何没有正常捕获处理,等待高手解答
源码:
- Java code
public boolean register(String mima){ try{ [color=#FF0000]String mingWen = decrypt(mima);[/color] 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); [color=#FF0000] return new String(mingByte);[/color] }
出错log
- Java code
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)
------解决方案--------------------
你已经捕获了,这个异常堆栈是你用 e.printStackTrace(); 方法输出的。
------解决方案--------------------
try{
}catch(Throwable e){
}
可以捕获一切exception
------解决方案--------------------
汗~~~
你不是已经捕获了空引用异常了吗?
而且空引用异常已经执行了捕获代码了啊。。。。那就是e.printStack();
你要问的是如何手动处理空引用异常吧?这个非常简单。。。。只要在try块中相关语句中加一个if(Object!=null)就行了。。。。。
//没学过j2me,你这里报异常应该是String mingWen吧,只要你在判断一下if(minWen!=null){你的语句}