【异常机制】使用异常打印错误信息

通过抛异常可以直接把异常的信息抛出来,在捕获异常的时候直接打印异常信息,下面通过一个简单的例子说明,更高级的用法请看这篇博文

【异常机制高级讲解】异常与多态综合案例https://blog.csdn.net/qq_43471489/article/details/123522592?spm=1001.2014.3001.5501

#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;
}

posted @ 2022-03-17 20:16  Mindtechnist  阅读(17)  评论(0编辑  收藏  举报  来源