如何调用包含异常处理程序的方法

时间:2011-12-20 20:45:57

标签: java android exception-handling

当我有这样的方法时:

public XmlParser() throws XmlPullParserException, IOException
{
  ...do some stuff...
}

如何调用该方法?

我试过这样做:

XmlParser xmlparse = new XmlParser();

但是我收到未处理的异常类型IOException 错误。

由于

5 个答案:

答案 0 :(得分:3)

使用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();
    //...

答案 1 :(得分:3)

由于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...
    }
}

答案 2 :(得分:1)

你用try catch包围它:

try{
XmlParser xmlparse = new XmlParser();
} catch (XmlPullParserException e) {
} catch (IOException) {
}

不要忘记正确处理异常。

答案 3 :(得分:1)

你必须确保捕获例外:

....
try {
    XmlParser xmlparse = new XmlParser();
} catch (XmlPuillParserException e) {
    // do something
} catch (IOException e) {
    // do something
}

答案 4 :(得分:1)

try{
    XmlParser xmlparse = new XmlParser();
}catch(XmlPuillParserException e){
    //do something useful
}
catch(IOException e){
    //do something useful
}

或者,您可以使用Exception代替IOException和XmlPuillParserException,但它的样式不好