的方法。當我有這樣的方法:我怎麼調用包含異常處理程序
public XmlParser() throws XmlPullParserException, IOException
{
...do some stuff...
}
如何調用該方法?
我試着這樣做:
XmlParser xmlparse = new XmlParser();
,但我得到一個未處理的異常類型爲IOException錯誤。
感謝
的方法。當我有這樣的方法:我怎麼調用包含異常處理程序
public XmlParser() throws XmlPullParserException, IOException
{
...do some stuff...
}
如何調用該方法?
我試着這樣做:
XmlParser xmlparse = new XmlParser();
,但我得到一個未處理的異常類型爲IOException錯誤。
感謝
由於爲XmlParser
構造函數聲明,它throws XmlPullParserException, IOException
,那麼你需要做的在你的代碼下面的東西之一。
你的第一選擇是捕捉那些異常直接在您的代碼:
XmlParser xmlparse;
try {
xmlparse = new XmlParser();
} catch (XmlPullParserException e) {
// handle...
} catch (IOException e) {
// handle...
}
或者,你可以聲明任何一種方法你包括在此,它也throws XmlPullParserException, IOException
此代碼。
最後,您可以捕獲其中一個異常並傳遞另一個異常。假設您正在編寫myMethod
:
public void myMethod() throws IOException {
XmlParser xmlparse;
try {
xmlparse = new XmlParser();
} catch (XmlPullParserException e) {
// handle...
}
}
你有嘗試捕捉圍繞着它:
try{
XmlParser xmlparse = new XmlParser();
} catch (XmlPullParserException e) {
} catch (IOException) {
}
不要忘了正確處理異常。
這應該是'catch(IOException e)'。 – 2011-12-20 21:01:01
可以使用try/catch
塊或throws
子句。如果你要處理它
try/catch
:
try {
XmlParser xmlparse = new XmlParser();
} catch(XmlPullParserException ex) {
// handler code
} catch(IOException ex) {
// handler code
}
throws
如果你正在做的一個方法中,並希望該方法的調用者來處理它:
public void yourMethod() throws XmlPullParserException, IOException {
XmlParser xmlparse = new XmlParser();
//...
你必須做一定要抓住例外:
....
try {
XmlParser xmlparse = new XmlParser();
} catch (XmlPuillParserException e) {
// do something
} catch (IOException e) {
// do something
}
try{
XmlParser xmlparse = new XmlParser();
}catch(XmlPuillParserException e){
//do something useful
}
catch(IOException e){
//do something useful
}
或者,而不是IOException異常和XmlPuillParserException,你可以使用異常,但它的壞作風
我嘗試了第一個選項,並且突出顯示「e」表示「重複的字段異常」。我猜是因爲它看到2「e」的? – SkyeBoniwell 2011-12-21 16:29:23
我不認爲是這樣;每個'e'應該是特定於封閉塊...除非在try/catch之外另外聲明瞭名爲'e'的局部變量。無論哪種方式,上面的代碼都是未經測試的,但應該足夠接近以使您能夠到達需要的地方...... – Mike 2011-12-21 16:37:07