什么可以替代java中的嵌套异常?

时间:2015-10-19 01:18:09

标签: exception-handling

我的java程序读取文件或网站,并在控制台上显示其内容。我正在使用嵌套的try catch块。是否有另一种方法可以做到这一点,而不使用嵌套异常。

public static void main(String[] args) throws IOException
{
    try
    {
        // Reads from file
    }
    catch(FileNotFoundException fnf)
    {
        try
        {
            // Assuming the entered path is to a website, Reads from a webiste, 
        }
        catch(MalFormedURLException urlEx)
        {

        }
        catch(IOException f)
        {

        }
    }
    catch(IOException e)
    {

    }
}

1 个答案:

答案 0 :(得分:1)

改变你的逻辑。

public static void main(String[] args) throws IOException
{

    try
    {
        if(isUrl(args)){
            // Reads from website

        }else{
            // Reads from file
        }
    }
    catch(MalFormedURLException urlEx)
    {

    }
    catch(IOException f)
    {


    }
}

isUrl函数通过检查http://或https://前缀或您支持的任何协议来检查arg是否为url。我没有为它提供代码,但是你自己编写代码应该相当简单。