Java 在Android中执行Try/catch语句时出错

Java 在Android中执行Try/catch语句时出错,java,android,try-catch,Java,Android,Try Catch,此代码用于查找一本书是否可用 现在如果eg的书名是模拟电子 如果我输入的输入与模拟或电子一样,它将显示完整的书名模拟电子,这意味着第1个n第2个try/catch块正确执行 但是,当我以模拟电子设备的形式输入输入时,在两个单词之间有一个空格,它会发出一个错误,并说“检查你的互联网连接”,即使我的互联网连接正常。它捕获第一个try/catch块中不应该发生的错误。我得到一个错误,都是因为“空格”” 根据您的logcat错误: 04-22 20:51:52.589: E/log_tag(1322):

此代码用于查找一本书是否可用

现在如果eg的书名是模拟电子

如果我输入的输入与模拟电子一样,它将显示完整的书名模拟电子,这意味着第1个n第2个try/catch块正确执行

但是,当我以模拟电子设备的形式输入输入时,在两个单词之间有一个空格,它会发出一个错误,并说“检查你的互联网连接”,即使我的互联网连接正常。它捕获第一个try/catch块中不应该发生的错误。我得到一个错误,都是因为“空格”


根据您的logcat错误:

04-22 20:51:52.589: E/log_tag(1322): Check your internet connection!!java.lang.IllegalArgumentException: Illegal character in query at index 52: http://duh.com/lol.php?name=analog electonics
您的查询中有非法字符

如果不进行编码,URL中不允许有空格字符(请参阅),因此您需要在请求页面之前对查询字符串进行编码


有关Android上URL编码的正确方法,请参阅,该URL的try/catch块覆盖了所有内容,因此可能与您的internet连接无关。您是否查看了引发的异常?@dcharms即使应用程序连接到internet,也会引发第一个异常。这就是我的观点。如果您向我们提供抛出的异常,这将有所帮助,因为该块中任何位置的未捕获异常都将在该捕获中被捕获。@langki05在最后一个catch子句中,添加一行来记录抛出的异常,例如:log.e(“,“exception”,e);然后将异常的logcat输出发布到OP@panini我已经发布了logcat错误。嗯,谢谢,现在它有意义了。所以现在我只需要找出如何对空间符号进行编码。如果你看看我链接的StackOverflow答案,Android有一个内置函数,可以为你进行URL编码
04-22 20:51:52.589: E/log_tag(1322): Check your internet connection!!java.lang.IllegalArgumentException: Illegal character in query at index 52: http://duh.com/lol.php?name=analog electonics
04-22 20:51:52.759: W/EGL_emulation(1322): eglSurfaceAttrib not implemented
04-22 20:51:52.589: E/log_tag(1322): Check your internet connection!!java.lang.IllegalArgumentException: Illegal character in query at index 52: http://duh.com/lol.php?name=analog electonics