的方法。当我有这样的方法:我怎么调用包含异常处理程序
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