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可以;我不太同意;-)