在方法签名中未声明Throws的情况下显式引发UnsupportedDataTypeException



我在HackerBank上遇到了一个问题,方法是这样写的。

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关键字,因为它是不可编辑的。

提前谢谢。

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

您可以删除它,因为无法访问此语句。不能在return语句后面放任何代码,这样的代码是不可访问的,因此编译将失败。

请在此处查看有关已检查和未检查异常的更多信息。如果您需要从方法中抛出异常,请考虑抛出RuntimeException或创建自己的运行时异常并抛出它

相关内容

最新更新