簡體   English   中英

異常處理:父類異常也會捕獲子異常嗎?

[英]Exception Handling: Will parent class exception catch child exception too

SAXExceptionSAXNotRecognizedExceptionSAXNotSupportedException擴展。

try {
  //do Something
} catch(SAXException e) {}
  catch(ParserConfigurationException pce) {}

如果讓我們說“做某事”具有拋出SAXNotRecognizedException or SAXNotSupportedException代碼,並且如果發生這種情況,則什么也不會發生。 如果發生SAXNotRecognizedException,則由於其為空塊,因此將不會發生任何事情。 對於ParserConfigurationException同樣。 現在,即使我說不對ParserConfigurationException做任何事情,也將引發ParserConfigurationException的異常。

當發生SAXNotRecognizedException or SAXNotSupportedException時,我基本上希望它什么也不做。

是的,父代例外也會捕獲子代例外。 一個著名的例子是當您捕獲Exception時 該try塊將捕獲所有sorts(child)異常,例如NullPointer等。

如果您只想捕獲SAXNotRecognizedExceptionSAXNotSupportedException ,那么一種更好的方法是這樣做,因為Java 7是:

try {
  // Do something
} catch(SAXNotRecognizedException | SAXNotSupportedException e) {
  // Do nothing
}

注意,其他SAXExceptions不會被捕獲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM