一个继承exception类自定义异常类的例子
时间: 2024-06-03 07:05:30 浏览: 11
一个继承exception类自定义异常类的例子如下:
```cpp
#include <iostream>
#include <exception>
using namespace std;
class MyException : public exception {
public:
const char* what() const throw() {
return "My Exception happened";
}
};
int main() {
try {
throw MyException();
} catch (exception& e) {
cout << e.what() << endl;
}
return 0;
}
```
在这个例子中,我们定义了一个名为`MyException`的类,它继承了`exception`类。`MyException`类中覆盖了`what()`方法,返回了一个字符串"My Exception happened"。在`main()`函数中,我们使用`throw`语句抛出了一个`MyException`类型的异常,然后使用`catch`语句捕获并处理了这个异常。在`catch`块中,我们调用了异常对象的`what()`方法,输出了异常信息"My Exception happened"。
相关问题
自定义一个异常类IllegalArgumentException,该类继承Exception类
在Java中,自定义异常类是编程中常见的一种做法,可以帮助你更好地组织代码并传达特定的错误信息。`IllegalArgumentException`是一个预定义的异常类型,但如果你想要创建自己的类似异常,你可以按照以下步骤进行:
1. 创建一个新的类,通常命名为自定义异常名称(如CustomIllegalArgumentException),让它继承自`java.lang.RuntimeException`或`java.lang.Exception`,因为`IllegalArgumentException`是`Exception`的一个子类。如果需要提供更具体的上下文,也可以选择`RuntimeException`作为父类。
```java
public class CustomIllegalArgumentException extends RuntimeException {
// 如果需要提供额外的信息,可以添加构造函数
public CustomIllegalArgumentException(String message) {
super(message);
}
public CustomIllegalArgumentException(String message, Throwable cause) {
super(message, cause);
}
}
```
在这个例子中,我们创建了一个名为`CustomIllegalArgumentException`的类,它有两个构造函数,分别接收一个消息字符串和一个可选的`Throwable`对象。`super(message)`会将提供的`message`传递给`RuntimeException`的构造器。
2. 使用这个异常:在方法或代码块中抛出这个异常,当你认为传入的参数不符合预期或者有其他非法操作时。
```java
public void validateInput(String input) throws CustomIllegalArgumentException {
if (input.isEmpty()) {
throw new CustomIllegalArgumentException("Input cannot be empty");
}
// 更多的验证逻辑...
}
```
Java举一个自定义异常类的使用例子
Java中的自定义异常类可以通过继承Exception或RuntimeException类来实现。下面是一个自定义异常类的使用例子:
```
public class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
public class Test {
public static void main(String[] args) {
try {
throw new MyException("This is my exception.");
} catch (MyException e) {
System.out.println(e.getMessage());
}
}
}
```
在上面的例子中,我们定义了一个名为MyException的自定义异常类,它继承了Exception类。在Test类中,我们通过throw语句抛出了一个MyException异常,并在catch语句中捕获并输出了异常信息。
自定义异常类的使用可以让我们更好地处理程序中可能出现的异常情况,提高程序的健壮性和可靠性。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)