adding different exceptions in one catch block
本问题已经有最佳答案,请猛点这里访问。
每次尝试捕捉在它下面发生的不同类型的异常之后,我都会有这么多
有没有一种方法可以在一个块中处理所有这些异常,而不是为每个异常添加一个新块?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ... } catch (UnknownHostException e) { Log.e(LOG_TAG_EXCEPTION, e.getMessage()); } catch (NullPointerException e) { Log.e(LOG_TAG_EXCEPTION, e.getMessage()); } catch (ClientProtocolException e) { Log.e(LOG_TAG_EXCEPTION, e.getMessage()); } catch (IllegalArgumentException e) { Log.e(LOG_TAG_EXCEPTION, e.getMessage()); } catch (URISyntaxException e) { Log.e(LOG_TAG_EXCEPTION, e.getMessage()); } catch (MalformedURLException e) { Log.e(LOG_TAG_EXCEPTION, e.getMessage()); } catch (IOException e) { Log.e(LOG_TAG_EXCEPTION, e.getMessage()); } finally{…} |
1 2 3 4 5 6 |
这是可能的,因为Java 7
1 2 3 4 5 | try { ... } catch( UnknownHostException | NullPointerException | ClientProtocolException ex ) { Log.e(LOG_TAG_EXCEPTION, e.getMessage()); } |
但你可以使用
1 2 3 4 5 |
更多信息http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html
如果你只是记录例外情况
1 |
相当不错。但是如果你想对某个异常做出反应,你必须像以前那样捕捉特定的异常。