一行简单的java代码捕获到一个不受支持的DencodingException,我不知道为什么
我完全被这件事缠住了。我知道我的代码是正确的。这很简单。我已经尝试过使用.equals和now.length将what与null进行比较,但它一直捕捉到这个异常。有人知道发生了什么事吗一行简单的java代码捕获到一个不受支持的DencodingException,我不知道为什么,java,android,exception,Java,Android,Exception,我完全被这件事缠住了。我知道我的代码是正确的。这很简单。我已经尝试过使用.equals和now.length将what与null进行比较,但它一直捕捉到这个异常。有人知道发生了什么事吗 public static void findLocations(String what, String near, String near2, String type) { StringBuilder responseBuilder = new StringBuilder(); try {
public static void findLocations(String what, String near, String near2, String type) {
StringBuilder responseBuilder = new StringBuilder();
try {
URL url;
String tempURL = "http://.........";
if (what.length() != 0) { // This line is catching UnsupportedEncodingException
tempURL += "&category=" + URLEncoder.encode(what, "UTF-8");
}
if (near.length() != 0) {
Thread [<1> main] (Suspended)
LocationSet.findLocations(String, String, String, String) line: 85
SearchAlgorithm.editNear() line: 322
SearchAlgorithm.search(String, String) line: 90
SearchView.onClick(View) line: 281
Button(View).performClick() line: 2408
View$PerformClick.run() line: 8816
ViewRoot(Handler).handleCallback(Message) line: 587
ViewRoot(Handler).dispatchMessage(Message) line: 92
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 868
ZygoteInit.main(String[]) line: 626
NativeStart.main(String[]) line: not available [native method]
公共静态字符串编码字符串,
字符串enc
抛出不支持的DencodingException
methode URLENCODER.encodewhat,UTF-8是一行,您可以从中获得异常。请添加完整代码。另外,它不是捕获异常,而是抛出异常。这行不可能捕获任何异常。我想你的意思是它正在抛出异常。我不认为它可能会被你所指的线抛出。它可能是由URLEncoder.encode调用引发的。我建议您发布异常堆栈跟踪。您能标记哪一行是第85行吗?这就是全部输出吗?我在输出中的任何地方都没有看到UnsupportedEncodingException。我知道我的代码是正确的。如果是这种情况,那么它显然是运行时中的一个bug。引发错误报告。第85行是catch UnsupportedEncodingException ue{}它不应该输入if语句,因为what=您确定它是而不是吗?你试过了吗:什么.修剪.长度?使用调试模式并找出它为什么进入if语句。我正在使用调试器。这很奇怪。它从不进入if语句。what.length返回0,因此不应输入该值。但是,当它执行该行代码时,会抛出UnsupportedEncodingException,如果.length!=0我要退出它,然后再打开它,看看会不会发生什么事情这是一团糟,重新启动它什么也没做。你说的干净是什么意思