会飞滴熊猫 2019-05-11 14:17 采纳率: 0%
浏览 834

关于C++异常抛出常量字符串无法被char*捕获

关于C++异常抛出问题

用throw抛出一个常量字符串,我验证过后发现这个常量字符串无法抛出,且一直报错,希望大神解答

#include <iostream>
using namespace std;


void My_Strcpy(char* des, char* src) {
    if (des == NULL) {
        throw "拷贝目的出错";
    }
    if (src == NULL) {
        throw "拷贝源出错";
    }
/*
    实验失败,用throw抛出的常量字符串根本无法抛出
    失败原因未知
*/
    if (*src == 'a') {
        throw "拷贝过程出错";
    }
    while (*src !='\0') {
        *des = *src;
        des++;
        src++;
    }
    *des = '\0';
}

int main() {

    char buf1[] = "anndwoa";
    char buf2[1024] = { 0 };
    try
    {
        My_Strcpy(buf2, buf1);
    }
    catch (int e)
    {
        cout << e << "int类型错误" << endl;
    }
    catch (char *e)
    {
        cout << e << "char*类型错误" << endl;
    }
    printf("%s \n", buf2);
    cout<<"hello....."<<endl;
    system("pause");
    return 0;
}
  • 写回答

1条回答 默认 最新

  • fatty1973 2019-06-20 10:52
    关注

    试试看const char*

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!