一、C语言中错误的处理方式
- 用assert来判断一个表达式是否出错;
- 在调用接口函数时,接口函数会设置errno,我们可以通过errno,strerror(errno)来拿到错误码和错误信息。
- 在自定义函数中,我们设置函数错误信息处理的时候,还会采用返回值来处理,这就需要我们来定义一堆的枚举变量来对应不同返回值的错误信息代表;
- 在函数嵌套调用的时候,内层函数出现了问题,就需要外层函数不断通过返回值判断,来查看内层函数是否调用出错,直到在某一个外层函数可以处理错误信息时停止;
二、C++中提供了抛异常的方式
#include <iostream>
void func(int a, int b)
{
if(b == 0)
{
throw "除0异常, b不能为0";
}
std::cout << "a / b = " << a / b << std::endl;
}
int main()
{
try
{
func(1,0);
}
catch(const char* error)
{
std::cout << error << std::endl;
}
catch(...) // 捕捉未知异常
{
std::cout << "Unknown" << std::endl;
}
std::cout << "END" << std::endl;
return 0;
}
三、Python的异常处理
1. 捕获异常的格式
try:内部代码块为可能出错的代码块