gpt4 book ai didi

java - 定义一个名为 "NO Match Exception"的异常,当字符串不等于 "India"时抛出该异常

转载 作者:行者123 更新时间:2023-12-02 00:51:14 24 4
gpt4 key购买 nike

在这个问题中,我必须检查字符串是否等于“India”。如果它们不相等,那么我必须抛出异常“No Match Exception”

我正在创建一个类 nomatchException ,并从构造函数中传递一个字符串“America”。然后我检查它是否等于“印度”。如果两者相等,则打印“Matched”,否则使用 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

最佳答案

您有一个引发异常的类 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");
}
}

关于java - 定义一个名为 "NO Match Exception"的异常,当字符串不等于 "India"时抛出该异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57857103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com