本帖最后由 蒟蒻 于 2022-8-31 09:03 编辑
【异常的定义】
所谓异常,并不是类似于IDE报错的异常毕竟程序能被编译出来,说明IDE是没有报错的
这里的异常,通常指的是逻辑异常
例如,我写了一个杀毒软件(当然并没有
当用户点击“日志”,却跳转到了设置界面,这肯定是异常了(IDE肯定不会报错对吧
【抛出异常】
抛出异常,就是当程序出现错误时,抛出异常ID等等
例如,我用HMCL完Minecraft,HMCL提示:
游戏异常退出
ID:114514
退出原因:XXXXX
建议您{做某件事}后重试
内心独白:啊!
使用C++抛出异常的方法如下
[C++] 纯文本查看 复制代码 try{
throw 1; //异常ID
throw "RePlayMod" //异常原因
}
但!是!
只抛出异常有用么?
结论是:
当!然!没!用
所以,抛出异常后下一步就是
接收异常
【接收异常】
接收异常使用
当然,在括号中需要填一些东西
还记得抛出的异常ID和异常信息吗,我们只需要像这样就可以接收他们了
[C++] 纯文本查看 复制代码 catch(int errorID){
printf("异常ID:%d",errorID);
}
catch(char * errorInfo){
printf("异常原因:%s错误",errorInfo);
}
还有一种特殊情况,那就是
无法判断错误时如何发生的
这是,我们应该怎么办呢?
很简单,只需在前两个catch的基础上,再添加一句catch
[C++] 纯文本查看 复制代码 catch(...){ //在括号里填...,可接收所有错误
printf("未知错误!");
}
你学废了吗awa
|