C++编程中例外和错误的使用原则

例外和错误在C++编程中有严格区分,不可以混用。

其表现形式如下:

错误,一定是以错误代码的方式返回。

int Fucn(int Parm)
{
	int nErrorCode = 0;

	if (...)
	{
		nErrorCode = -1;
	}

	else if (...)
	{
		nErrorCode = -2;
	}
	else
	{
		nErrorCode = -3;
	}
		
	return nErrorCode;
}

例外,按照既定的功能类抛出。

void Fucn(int Parm)
{

	if (...)
	{
		...;
	}

	else if (...)
	{
		...;
	}
	else
	{
		throw new exception();
	}
}

可能有人会问,可不可以把错误码通过例外抛出?这个是最让人困惑的地方,答案是不可以。这个当然不是因为C++语法的原因。

要弄明白这个问题,先思考为什么要存在错误和例外两种表达方式?

1.编译期和运行期的区别

如果一个问题在程序的编译期可以确定,则必须以error的方式定义。如果无法在编译期确定,在运行期才可能出现的程序错误,这个就叫“例外”,必须以exception定义。

2.开发者和使用者的区别

错误的信息是给开发人员使用的,开发人员根据错误码决定下一步的处理流程。例外则相反,其信息是展示给软件的使用者看的,两者不能混淆。

总之一句话,开发期可以确定异常叫错误,不能确定的异常叫例外,例外信息要展示给使用者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值