验证文件的android异常不起作用

| 我已经使用Eclipse ADT大约2个月了。那时,我有一个小的实用程序,可让我选择IP地址和端口,然后将文件发送到该组合。该实用程序按预期工作,但是当我输入错误的文件名时,应用程序挂起。 @Override    公共无效run(){       if(data!= null){          this.send(data);       } else if(this.file!= null){          如果(file.exists()){             this.send(file);          }其他{             transferError = new FileNotFoundException(\“找不到指定的文件\”);          }       }    } 我甚至尝试过执行以下操作,希望一个或另一个可以抛出该错误,但是我都未能成功。 公共无效run(){       if(data!= null){          this.send(data);       } else if(this.file!= null){          如果(file.exists()){             this.send(file);          }其他{             transferError = new FileNotFoundException(\“找不到指定的文件\”);          }       }尝试{          抛出新的Exception(\“ blah blah blah \”);       } catch(Exception e){          // TODO自动生成的catch块          e.printStackTrace();       }    } 我已经设法解决了该异常,我添加了上面的一个,我尝试将其放置在不同的位置,但均未成功。再说一次,我是新手,基本上是将各种tcp客户端代码切碎而来的。除了创建一种正确引发异常的方法之外,请帮助我理解为什么第一个不起作用以及您建议的原因为何。     
已邀请:
在您的else块中,您不会抛出所创建的transferError。
throw transferError;
但是,您可能将无法执行此操作,因为FileNotFoundException是已检查的异常,并且run()方法未声明任何引发的异常。您可能需要找到一种不同的方式来向用户显示错误,例如使用Toast之类的东西。 您的第二个块不起作用,因为您正在捕获引发的异常。     

要回复问题请先登录注册