mysql_real_connect崩溃、未经处理的异常

背景

近期客户测试软件,功能里有mysql连接问题,在mysql连接失败时,客户机器上出现“已停止工作”界面,而我机器上软件直接退出没有提示自动关闭。

查找分析

因为是一直用的代码,和网上代码对比mysql_real_connect也用法一样,想不到哪里错误,就先加上mysql的option处理代码,类似如下。

unsigned int timeout = 5;

int ret = mysql_options(_connectionHandlerPtr, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&timeout);

if (ret) {

throw DataBaseError("mysql参数设置失败");

return;

}

if (NULL == mysql_real_connect(_connectionHandlerPtr, server.c_str(), user.c_str(), password.c_str(), database.c_str(), import, NULL, 0))

{

throw DataBaseError("连接数据库失败");

return;

}

char value = 1;

mysql_options(_connectionHandlerPtr, MYSQL_OPT_RECONNECT, &value);

加了还是不行,不过用代码调试运行报“未经处理的异常”,就查try,catch代码,把catch里括号里参数类型里*去掉,“未经处理的异常”不报了,mysql_real_connect也不崩溃了。

未经处理的异常

从msdn里查下try catch的描述。

try {

// code that could throw an exception

}

[ catch (exception-declaration) {

// code that executes when exception-declaration is thrown

// in the try block

}

[catch (exception-declaration) {

// code that handles another exception type

} ] . . . ]

// The following syntax shows a throw expression:

throw [expression]

exception-declaration不是无变化的意思,它是和throw的值类型有关的,如果throw "abc",则catch里可以带*号是char*,如果throw CXXError,就要catch(CXXError e),抛出什么类型就要catch什么类型,如果类型不一致,则会报“未经处理的异常”。

mysql_real_connect崩溃

mysql_real_connect连接失败是会正常上报,代码对应处理时会throw,是throw的问题,mysql_real_connect没有问题。

mysql_real_connect阻塞_mysql_real_connect崩溃、未经处理的异常相关推荐

  1. mysql_real_connect阻塞_mysql_real_connect 参数注意-阿里云开发者社区

    mysql_real_connect的声明: MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, c ...

  2. 0x010D99A9 处有未经处理的异常(在 XXX.exe 中): 0xC00000FD: Stack overflow (参数: 0x00000000, 0x06772000)

    最近使用vs2015开发windows桌面应用程序,发现写出来的程序运行时崩溃了,报错"0x010D99A9 处有未经处理的异常(在 XXX.exe 中): 0xC00000FD: Stac ...

  3. System.BadImageFormatException”类型的未经处理的异常在 xx.exe 中发生

    System.BadImageFormatException"类型的未经处理的异常在 xx.exe 中发生 参考文章: (1)System.BadImageFormatException&q ...

  4. “System.Data.Entity.ModelConfiguration.ModelValidationException”类型的未经处理的异常在 EntityFramework.dll 中发生

    "System.Data.Entity.ModelConfiguration.ModelValidationException"类型的未经处理的异常在 EntityFramewor ...

  5. 深入全面探究有未经处理的异常: 0xC00000FD: Stack overflow(栈溢出)问题!

    深入全面探究有未经处理的异常: 0xC00000FD: Stack overflow(栈溢出)问题! 参考文章: (1)深入全面探究有未经处理的异常: 0xC00000FD: Stack overfl ...

  6. 关于WPF 中 “System.Windows.Markup.XamlParseException”类型的未经处理的异常在 PresentationFramework.dll 中发生 异常的处理。

    关于WPF 中 "System.Windows.Markup.XamlParseException"类型的未经处理的异常在 PresentationFramework.dll 中发 ...

  7. 问题 | 0x00007FF95287908C 处(位于 OpenCV.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception

    /******************************************** 博主github:https://github.com/MichaelBeechan 博主CSDN:http ...

  8. 未经处理的异常:System.Net.Sockets.SocketException: 以一种访问权限不允许的方式做了一个访问套接字的尝试...

    报错:未经处理的异常:System.Net.Sockets.SocketException: 以一种访问权限不允许的方式做了一个访问套接字的尝试 → 尝试以"管理员身份"运行程序, ...

  9. “System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效。

    "System.FormatException"类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效. 参考文章: ...

最新文章

  1. 如何利用Excel计算有多少种组合?
  2. ASP.NET MVC + ADO.NET EF 项目实战(二):设计过程与设计工具
  3. 网站服务器睡眠后还能访问吗,远程服务器可以睡眠吗
  4. foxmail邮件怎样打印日历
  5. python获取网页标题_Python2获取网页标题
  6. vue中的自定义分页插件组件
  7. vector性能调优之resize与reserve
  8. flash视频的param属性解释
  9. Java 居民身份证号校验工具类
  10. 吴恩达《构建机器学习项目》精炼笔记(2)-- 机器学习策略(下)
  11. SqlServer 如何插入图片和导出图片数据
  12. html七天签到页面,每日前端签到(第七天)
  13. 换手机了备忘录怎么恢复?专家为你解答数据恢复问题
  14. 045 [转载]DNS RPC 分析
  15. 使用nuget 打包并上传 nuget.org
  16. 《硬件架构的艺术》读书笔记:Chapter 1 亚稳态的世界
  17. 回归(Regression)是什么意思
  18. 2021ICPC网络赛第二场The 2021 ICPC Asia Regionals Online Contest (II) 【L Euler Function】
  19. 高级人工智能(国科大2021-2022秋季学期课程)-基础概念及算法
  20. java快递100接口开发_java swing开发的一个抓取快递100查询接口的小工具

热门文章

  1. MySQL 数据库恢复
  2. js调用python接口_JavaScript如何调用Python后端服务
  3. 北大计算机博进高校,他是北大第一位博士,留校任教却连做三件“傻事”,博导都没评上...
  4. linux 管道交互,Linux C:具有独立读写命名管道的“交互式会话”?
  5. python输入逗号分隔_命令行Python逗号分隔的用户输入int值
  6. string 中的offset_【Java基础】String常量的长度有限制吗?
  7. STL11-stack容器
  8. java 对list增删_List 中正确的增删操作
  9. JS在页面限制checkbox最大复选数
  10. [转]面向对象的六大原则