2015-09-01 80 views
2

SAXExceptionSAXNotRecognizedException,SAXNotSupportedException擴展。異常處理:父類異常是否也會捕獲子異常

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

如果讓我們說「做點」有一些代碼,拋出SAXNotRecognizedException or SAXNotSupportedException如果出現這種情況,然後什麼都不應該發生。如果發生SAXNotRecognizedException,那麼將不會發生任何事情,因爲它是一個空塊。類似於ParserConfigurationException。現在,即使我說ParserConfigurationException什麼都不做,那麼也會拋出ParserConfigurationException異常。

我基本上希望它在SAXNotRecognizedException or SAXNotSupportedException發生時什麼也不做。

+0

那麼,當你捕獲SAXException(或一個子類)時,這段代碼什麼都不會發生。 –

回答

5

是的父母例外也會捕獲孩子例外。一個已知的例子是當你趕上異常。這try塊將捕獲各種(子)例外,如空指針等

1

如果你想趕僅SAXNotRecognizedExceptionSAXNotSupportedException,更好的方式來做到這一點,因爲Java 7的是:

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

注,其他SAXExceptions不會被捕獲。