迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C++ >

处理 C++ 中的错误

作者:迹忆客 最近更新:2023/08/20 浏览次数:

本文讨论了 C++ 中的错误和异常处理。


C++ 中的错误处理

C++ 程序中可能存在多种类型的错误。 有些错误需要向用户发出提示。

您必须向用户提供正确的错误消息并退出程序。

对于处理错误,可以采用多种不同的方法。 其中一些是:

  1. 向用户提供一些硬编码的错误消息。
  2. 在某些变量中保存一些预期的错误消息并显示这些变量。
  3. 进行异常处理。

第一种给出一些硬编码错误消息的方法非常简单。 只要代码中可能出现错误,就显示一些错误消息并退出代码。

例如,如果登录或密码输入无效,您可以显示如下消息:

cout<< "You have entered an incorrect username or password"<<endl;
cout<<"Try again!"<<endl;

第二种方法是为可能的错误消息创建一些字符串,并在需要的地方显示这些变量。

const string INVALID_LOGIN_ERROR_MESSAGE = "Invalid Username or Password";
//later in the code
cout<<INVALID_LOGIN_ERROR_MESSAGE <<endl;

此类类型的字符串可以在单独的头文件(如 ErrorMessages.h)中声明,并将该头文件包含在主文件中。 这种字符串文字的优点是防止代码重复。

每当您想要更改错误消息时,都需要在一处(即声明部分)进行更改。


C++ 中的异常处理

即使拥有专业的编程技能,一些运行时错误也无法避免。 这些都是异常,我们对此类错误进行异常处理。

例如,我们可能会尝试从机器上访问一些不可用的内存,或者 API 用户可能会向函数传递非法参数。 此类错误是使用异常处理来处理的。

为了在程序中使用异常处理,我们将需要出现错误的代码块包含在 try 块中。 因此,每当出现异常时,控制就会自动转移到关联的 catch 块,该块在终止程序之前显示一些有意义的错误消息。

考虑下面的例子。

#include <iostream>
using namespace std;

int main () {
    int n1=2, n2=0;
    try{
        if (n2 !=0)
            cout<<"Division: "<<n1/n2<<endl;
        else
            throw 0;
    }
  catch (int e){
    cout << "Divide by zero exception " << endl;
  }
  return 0;
}

上述代码的输出将是:

C++ 中的异常处理

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Arduino 中停止循环

发布时间:2024/03/13 浏览次数:444 分类:C++

可以使用 exit(0),无限循环和 Sleep_n0m1 库在 Arduino 中停止循环。

Arduino 复位

发布时间:2024/03/13 浏览次数:315 分类:C++

可以通过使用复位按钮,Softwarereset 库和 Adafruit SleepyDog 库来复位 Arduino。

Arduino 的字符转换为整型

发布时间:2024/03/13 浏览次数:181 分类:C++

可以使用简单的方法 toInt()函数和 Serial.parseInt()函数将 char 转换为 int。

Arduino 串口打印多个变量

发布时间:2024/03/13 浏览次数:381 分类:C++

可以使用 Serial.print()和 Serial.println()函数在串口监视器上显示变量值。

Arduino if 语句

发布时间:2024/03/13 浏览次数:123 分类:C++

可以使用 if 语句检查 Arduino 中的不同条件。

Arduino ICSP

发布时间:2024/03/13 浏览次数:214 分类:C++

ICSP 引脚用于两个 Arduino 之间的通信以及对 Arduino 引导加载程序进行编程。

使用 C++ 编程 Arduino

发布时间:2024/03/13 浏览次数:127 分类:C++

本教程将讨论使用 Arduino IDE 在 C++ 中对 Arduino 进行编程。

Arduino 中的子程序

发布时间:2024/03/13 浏览次数:168 分类:C++

可以通过在 Arduino 中声明函数来处理子程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便