mysql_real_connect阻塞_mysql_real_connect崩溃、未经处理的异常
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崩溃、未经处理的异常相关推荐
- mysql_real_connect阻塞_mysql_real_connect 参数注意-阿里云开发者社区
mysql_real_connect的声明: MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, c ...
- 0x010D99A9 处有未经处理的异常(在 XXX.exe 中): 0xC00000FD: Stack overflow (参数: 0x00000000, 0x06772000)
最近使用vs2015开发windows桌面应用程序,发现写出来的程序运行时崩溃了,报错"0x010D99A9 处有未经处理的异常(在 XXX.exe 中): 0xC00000FD: Stac ...
- System.BadImageFormatException”类型的未经处理的异常在 xx.exe 中发生
System.BadImageFormatException"类型的未经处理的异常在 xx.exe 中发生 参考文章: (1)System.BadImageFormatException&q ...
- “System.Data.Entity.ModelConfiguration.ModelValidationException”类型的未经处理的异常在 EntityFramework.dll 中发生
"System.Data.Entity.ModelConfiguration.ModelValidationException"类型的未经处理的异常在 EntityFramewor ...
- 深入全面探究有未经处理的异常: 0xC00000FD: Stack overflow(栈溢出)问题!
深入全面探究有未经处理的异常: 0xC00000FD: Stack overflow(栈溢出)问题! 参考文章: (1)深入全面探究有未经处理的异常: 0xC00000FD: Stack overfl ...
- 关于WPF 中 “System.Windows.Markup.XamlParseException”类型的未经处理的异常在 PresentationFramework.dll 中发生 异常的处理。
关于WPF 中 "System.Windows.Markup.XamlParseException"类型的未经处理的异常在 PresentationFramework.dll 中发 ...
- 问题 | 0x00007FF95287908C 处(位于 OpenCV.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception
/******************************************** 博主github:https://github.com/MichaelBeechan 博主CSDN:http ...
- 未经处理的异常:System.Net.Sockets.SocketException: 以一种访问权限不允许的方式做了一个访问套接字的尝试...
报错:未经处理的异常:System.Net.Sockets.SocketException: 以一种访问权限不允许的方式做了一个访问套接字的尝试 → 尝试以"管理员身份"运行程序, ...
- “System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效。
"System.FormatException"类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效. 参考文章: ...
最新文章
- 如何利用Excel计算有多少种组合?
- ASP.NET MVC + ADO.NET EF 项目实战(二):设计过程与设计工具
- 网站服务器睡眠后还能访问吗,远程服务器可以睡眠吗
- foxmail邮件怎样打印日历
- python获取网页标题_Python2获取网页标题
- vue中的自定义分页插件组件
- vector性能调优之resize与reserve
- flash视频的param属性解释
- Java 居民身份证号校验工具类
- 吴恩达《构建机器学习项目》精炼笔记(2)-- 机器学习策略(下)
- SqlServer 如何插入图片和导出图片数据
- html七天签到页面,每日前端签到(第七天)
- 换手机了备忘录怎么恢复?专家为你解答数据恢复问题
- 045 [转载]DNS RPC 分析
- 使用nuget 打包并上传 nuget.org
- 《硬件架构的艺术》读书笔记:Chapter 1 亚稳态的世界
- 回归(Regression)是什么意思
- 2021ICPC网络赛第二场The 2021 ICPC Asia Regionals Online Contest (II) 【L Euler Function】
- 高级人工智能(国科大2021-2022秋季学期课程)-基础概念及算法
- java快递100接口开发_java swing开发的一个抓取快递100查询接口的小工具
热门文章
- MySQL 数据库恢复
- js调用python接口_JavaScript如何调用Python后端服务
- 北大计算机博进高校,他是北大第一位博士,留校任教却连做三件“傻事”,博导都没评上...
- linux 管道交互,Linux C:具有独立读写命名管道的“交互式会话”?
- python输入逗号分隔_命令行Python逗号分隔的用户输入int值
- string 中的offset_【Java基础】String常量的长度有限制吗?
- STL11-stack容器
- java 对list增删_List 中正确的增删操作
- JS在页面限制checkbox最大复选数
- [转]面向对象的六大原则