Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java/Android中的if条件Try/Catch_Java_Android_Try Catch - Fatal编程技术网

Java/Android中的if条件Try/Catch

Java/Android中的if条件Try/Catch,java,android,try-catch,Java,Android,Try Catch,我正在尝试捕获异常,不允许应用程序强制关闭。因此,我受到了像打击一样的尝试: try { String[] words = message.split(" "); strBuilder.setLength(0); numberString = words[8]; if (numberString.length() > 4) { numberString = numberString.substring((numberString.length() - 4)

我正在尝试捕获异常,不允许应用程序强制关闭。因此,我受到了像打击一样的尝试:

try 
{
  String[] words = message.split(" ");
  strBuilder.setLength(0);

  numberString = words[8];
  if (numberString.length() > 4) 
  {
    numberString = numberString.substring((numberString.length() - 4));
  } 

   if ((message.contains("return"))) 
   {
     amountString = words[0];
     amountString = amountString.replace(",", "");
     amountString = getFilter(message);
    }

   else 
    {
      for (int i = 12; i < words.length; i++) 
        {
         text = words[i];
         strBuilder.append(text + " ");
         str = strBuilder.toString();
        }

      amountString = words[1];
      amountString = amountString.replace(",", "");

      nameString = str;
    }

    Log.e("Value","= " + amountString + nameString + numberString);
} 
catch (NotFoundException e) 
{
   Log.e("ERROR","Value Not fetched");
}   

}
试试看
{
String[]words=message.split(“”);
strBuilder.setLength(0);
numberString=单词[8];
如果(numberString.length()>4)
{
numberString=numberString.substring((numberString.length()-4));
} 
if((message.contains(“return”))
{
amountString=words[0];
amountString=amountString.replace(“,”,”);
amountString=getFilter(消息);
}
其他的
{
for(int i=12;i
我正在for循环中尝试上述代码…

但应用程序仍然崩溃,并在amountString=getFilter(消息)中给出错误信息; 为什么会这样


我是否需要在amount=getFilter(message)之前插入try-and-catch

您只捕获了
NotFoundException
,但您的代码执行过程中可能会发生其他异常,导致应用程序崩溃。因此,请尝试捕捉异常,找出问题所在。

查看您的捕捉语句:

catch (NotFoundException e) {
您只捕获了一个异常,
NotFoundException
。我会检查Logcat,看看抛出了什么异常,然后捕获它


如果您想要快速而肮脏的解决方案,您可以捕获异常。但这会抓住任何东西。如果您有一个随机的
NullPointerException
NumberFormatException
也会被捕获,这可能会掩盖严重的问题或使调试变得困难。

引发什么异常?可能不是一个
NotFoundException
是的,但要比捕获
异常
更好,请查看实际的堆栈跟踪。@JohnBollinger可以;我不太同意;-)