Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
code_shenbing
cpp_15_exception
提交
666dad25
C
cpp_15_exception
项目概览
code_shenbing
/
cpp_15_exception
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
cpp_15_exception
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
666dad25
编写于
4月 09, 2023
作者:
W
wsb
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
自定义异常
上级
adee04a8
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
43 addition
and
2 deletion
+43
-2
CMakeLists.txt
CMakeLists.txt
+1
-1
MyException.cpp
MyException.cpp
+9
-0
MyException.h
MyException.h
+15
-0
main.cpp
main.cpp
+18
-1
未找到文件。
CMakeLists.txt
浏览文件 @
666dad25
...
...
@@ -3,4 +3,4 @@ project(cpp_15_exception)
set
(
CMAKE_CXX_STANDARD 11
)
add_executable
(
cpp_15_exception main.cpp
)
add_executable
(
cpp_15_exception main.cpp
MyException.cpp MyException.h
)
MyException.cpp
0 → 100644
浏览文件 @
666dad25
//
// Created by 11010 on 2023/4/9.
//
#include "MyException.h"
const
char
*
MyException
::
what
()
const
throw
()
{
return
"CPP error,Çë¼ì²â³ÌÐò£¡"
;
}
MyException.h
0 → 100644
浏览文件 @
666dad25
//
// Created by 11010 on 2023/4/9.
//
#ifndef CPP_15_EXCEPTION_MYEXCEPTION_H
#define CPP_15_EXCEPTION_MYEXCEPTION_H
#include "exception"
class
MyException
:
public
std
::
exception
{
public:
const
char
*
what
()
const
throw
()
override
;
//重写what函数:用于返回当前程序的具体异常描述
};
#endif //CPP_15_EXCEPTION_MYEXCEPTION_H
main.cpp
浏览文件 @
666dad25
#include <iostream>
#include "MyException.h"
#include "exception"
int
result
(
int
a
,
int
b
);
...
...
@@ -28,7 +30,22 @@ int main() {
}
//通过继承和重载 exception 类来定义新的异常
//通过继承和重载 exception 类来定义新的异常: 定义新的类MyException继承exception自定义新的异常
try
{
throw
MyException
();
//抛出自定义异常
}
//捕获异常
catch
(
MyException
&
e
){
std
::
cout
<<
e
.
what
()
<<
std
::
endl
;
}
//使用c++标准异常
try
{
throw
std
::
bad_exception
();
}
catch
(
std
::
bad_exception
&
e
){
std
::
cout
<<
e
.
what
()
<<
std
::
endl
;
}
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录