自义定异常类,但输入的字符串中没有@符号时抛出该自定义异常。利用合理的测试数据进行测试。java
时间: 2024-02-18 13:00:56 浏览: 18
好的,您的问题是如何自定义一个异常类并在字符串中没有@符号时抛出该异常。
代码如下:
```java
public class NoAtSymbolException extends Exception {
public NoAtSymbolException(String message) {
super(message);
}
}
```
然后我们可以在代码中使用该异常:
```java
public void checkString(String input) throws NoAtSymbolException {
if (!input.contains("@")) {
throw new NoAtSymbolException("Input string does not contain '@' symbol");
}
}
```
在这个例子中,我们定义了一个 `checkString` 方法,如果输入字符串中不包含 `@` 符号,则抛出自定义异常 `NoAtSymbolException`。
接下来是一些测试数据:
```java
String input1 = "example.com";
String input2 = "example@com";
String input3 = "@example.com";
try {
checkString(input1);
} catch (NoAtSymbolException e) {
System.out.println(e.getMessage()); // Output: Input string does not contain '@' symbol
}
try {
checkString(input2);
} catch (NoAtSymbolException e) {
// This block won't execute because input2 contains '@'
System.out.println(e.getMessage());
}
try {
checkString(input3);
} catch (NoAtSymbolException e) {
// This block won't execute because input3 contains '@'
System.out.println(e.getMessage());
}
```
在这个测试数据中,我们测试了三个字符串:`input1` 中不包含 `@`,所以会抛出 `NoAtSymbolException`;`input2` 和 `input3` 中都包含 `@`,所以不会抛出异常。