2015-09-01 52 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不会被捕获。