显式抛出UnsupportedDataTypeException而不在方法签名中声明Throws

时间:2018-07-30 07:39:16

标签: java anagram

我在HackerRank上遇到了一个问题,其中方法是这样编写的。

public static String anagram(String s , String s1){

//write ur logic

throw new UnsupportedDataTypeException("anagram(String s , String s1)");    
}

我无法在此方法签名中编辑任何内容。现在,我在下面写下了我的逻辑:

public static String anagram(String s , String s1){

        String str="";
        char []a=s.trim().toLowerCase().toCharArray();
        char []b=s1.trim().toLowerCase().toCharArray();

        Arrays.sort(a);
        Arrays.sort(b);
        boolean isAnag=false;
        isAnag=Arrays.equals(a, b);

        if(isAnag){
            str= "yes";
        }
        else{
            str= "no";
        }
        return str;
        throw new UnsupportedDataTypeException("anagram(String s , String s1)");
    }

现在不管我做什么。此UnsupportedDataTypeException给我编译错误,即使我在代码中添加了try catch块,但异常仍然存在。我不能在方法签名中使用Throws关键字,因为它不可编辑。

谢谢。

1 个答案:

答案 0 :(得分:1)

看起来throw new UnsupportedDataTypeException("anagram(String s , String s1)");只是一个实现存根。

您只能删除它,因为此语句不可访问。您不能在return语句后放置任何代码,因为这些代码不可访问,因此编译将失败。

详细了解已检查和未检查的异常here。如果需要从方法中引发异常,请考虑引发RuntimeException或创建自己的运行时异常并引发它。