【异常机制】使用异常打印错误信息
通过抛异常可以直接把异常的信息抛出来,在捕获异常的时候直接打印异常信息,下面通过一个简单的例子说明,更高级的用法请看这篇博文
#include <iostream>
using namespace std;
void print_str(const char* str)
{
if (str == NULL)
{
throw "str is null"; //分配内存
}
cout << str << endl;
}
int main()
{
const char* p = NULL;
try
{
print_str(p);
}
catch (const char* pStr)
{
cout << "出现 const char* 异常:" << pStr << endl; //pStr是在哪分配内存的呢?在throw处
}
//catch (char* pStr) //无法捕获到 const cha* 类异常
//{
// cout << "出现 char* 异常:" << pStr << endl;
//}
//catch (const char*) //捕获 const char* 类型异常但不使用异常变量
//{
// cout << "出现const char*异常" << endl;
//}
catch (...)
{
cout << "其他异常" << endl;
}
system("pause");
return 0;
}