在问题中,我必须检查一个字符串是否等于“ India”。如果它们不相等,那么我必须抛出一个异常“ No Match Exception”(无匹配异常)
我正在创建一个类nomatchexception,并从构造函数中传递一个字符串“ America”。然后,我正在检查它是否等于“印度”。如果两者相等,则打印“匹配”,否则使用throw引发异常。
class nomatchexception {
String s;
nomatchexception(String s) {
this.s = s;
if (s.equals("India")) {
System.out.print("Matched!\n");
} else {
throw new NoMatchException("Not Matched!\n");
}
}
}
class nomatchex {
public static void main(String[] a) {
nomatchexception v = new nomatchexception("America");
}
}
错误:
nomatchex.java:9: error: cannot find symbol
throw new NoMatchException("Not Matched!\n");
^
symbol: class NoMatchException
location: class nomatchexception
1 error
答案 0 :(得分:0)
您有一个引发异常的 nomatchexception 类,但是 NoMatchException 例外类在您的代码中并不存在,也不属于Java。
需要创建一个类NoMatchException扩展异常,并带有适当的替代,例如:
class NoMatchException extends Exception {
public NoMatchException(String message){
super(message);
}
}
现在您可以引发 NoMatchException 异常。
为了获得良好的编码效果,建议使用正确的大小写,并在类中进行命名,也许您的 nomatchexception 类必须称为 IndiaAssertComparer 或类似名称。
完整示例:
class NoMatchException extends Exception {
public NoMatchException(String message){
super(message);
}
}
class IndiaAssertComparer {
private String s;
IndiaAssertComparer(String s) throws NoMatchException {
this.s = s;
if (s.equals("India")) {
System.out.print("Matched!\n");
} else {
throw new NoMatchException("Not Matched!\n");
}
}
}
class NoMatcher {
public static void main(String[] a) throws NoMatchException {
IndiaAssertComparer v = new IndiaAssertComparer("America");
}
}
答案 1 :(得分:0)
创建一个名为“ NoMatchException”的用户定义异常,该异常在用户输入的字符串不是“印度”时触发。
select max(timestamp) last_timestamp
from mytable
where recovery_email = '' and timestamp >= now() - interval 1 day