单独一个文件

本文深入探讨了C++中错误处理的关键概念,包括cerr用于打印错误消息、图形环境下的错误提示框、断言功能及其在验证函数参数和检查函数返回值的有效性中的应用。通过实例展示了如何使用assert语句来快速定位和解决编程过程中的问题。
5)cerr是另一个机制是这是专门为打印错误消息。一个输出流cerr就像cout中定义的适合iostream.h. cerr错误信息就像cout屏幕),但它可以redirected单独一个文件。
1
2
3
4
5
6
7
8
void PrintString(char *strString)
{
    // Only print if strString is non-null
    if (strString)
        std::cout << strString;
    else
        std::cerr << "PrintString received a null parameter";

6)如果在某种图形环境下工作(如MFC或SDL),这是常见的弹出一个错误代码消息框然后终止程序。

断言的

使用条件语句来检测违反假设,随着印刷错误信息并终止程序是这样一个共同的响应问题,C++提供了一种快捷方法这样做。此快捷方式被称为一个断言。

Assert语句是一个预处理宏计算条件表达式。如果条件表达式为真,assert语句不。如果条件表达式的值为false,则显示错误信息并终止程序。这个错误消息包含条件表达式失败,随着代码的文件名和行号的断言。这使得它告诉问题不仅是很容易的,但在代码中发生的问题。这可以帮助调试的努力非常。

Assert功能生活在cassert头,常被用来检查传递给函数的参数是有效的,并检查一个函数调用的返回值是有效的。

2
3
4
5
6
7
8
9
10
int g_anArray[10]; // a global array of 10 characters
 
#include <cassert> // for assert()
int GetArrayValue(int nIndex)
{
    // we're asserting that nIndex is between 0 and 9
    assert(nIndex >= 0 && nIndex <= 9); // this is line 7 in Test.cpp
 
    return g_anArray[nIndex];
}
If the user calls GetValue(-3), the program prints the following message:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值