找回密码
 立即注册
收起左侧

QT连接mysql,服务不正常引起的异常怎样处理?

6
回复
4576
查看
[复制链接]
累计签到:2 天
连续签到:1 天
来源: 2015-9-11 17:45:40 显示全部楼层 |阅读模式
环境:VS2013 QT5.5
运行描述:利用QT与mysql能够正常通讯,数据库操作都正常。
但,如果我故意把MYSQL服务进程停止,运行到以下代码时
if(!db.open())
{
    //提示连接,数据库打开失败.....
}
db.open(),这个位置会出现读取位置异常,希望能判断mysql服务异常,进入提前屏蔽此异常,或者怎样处理这种异常?

但是如果把mysql服务打开,却是正常运行,求大神指点迷津啊,都快折腾一天了啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2015-9-12 10:39:29 显示全部楼层
try{}catch(exception*){}  捕获不了吗?
回复 支持 反对

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-9-12 20:31:15 显示全部楼层
try catch 我没用过,,不过我觉的应该也能行!但是你也可以这么写db.lastError();这是输出数据库连接错误的原因,,你直接判断这个值就可以了
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2015-9-14 09:34:20 显示全部楼层
qq1043068972 发表于 2015-9-12 20:31
try catch 我没用过,,不过我觉的应该也能行!但是你也可以这么写db.lastError();这是输出数据库连接错误的原 ...

没有啊,关键是直接是排定db指针异常啊,给我的感觉就是db是空的,但是用db.后面的属性的话,不可能成功的,db这个数据库对象就是空的.....所以有点小蛋疼

点评

.pro 写QT+=sql了吗? 你的意思是,,你的数据库对象就没创建成功是吧?  详情 回复 发表于 2015-9-15 19:02
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2015-9-14 09:35:12 显示全部楼层
Jins 发表于 2015-9-12 10:39
try{}catch(exception*){}  捕获不了吗?

没捕获成功啊,还没查到这个是属于QT的啥异常,这样写了之后还是报错的
回复 支持 反对

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-9-15 19:02:46 显示全部楼层
narutowt 发表于 2015-9-14 09:34
没有啊,关键是直接是排定db指针异常啊,给我的感觉就是db是空的,但是用db.后面的属性的话,不可能成功 ...

.pro  写QT+=sql了吗?  你的意思是,,你的数据库对象就没创建成功是吧?
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2015-9-23 12:08:30 显示全部楼层
qq1043068972 发表于 2015-9-15 19:02
.pro  写QT+=sql了吗?  你的意思是,,你的数据库对象就没创建成功是吧?

我是用C++调用QT类的,是人为的操作连接不成功。还有一种情况是,在运行过久的情况下,服务器自动断开,这个时候的判断是什么,是database is not open?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了