Mysql入门系列:MYSQL客户机程序2―增加错误检查[组图]_MySQL
Jun 01, 2016 pm 01:55 PM6.3 客户机程序2―增加错误检查
我们的第二个客户机程序将像第一个客户机程序一样,但是将修改它们,考虑错误出现的可能性。“将错误检查作为读者的练习”这样的项目在编程文献中相当常见,这或许是因为检查错误相当令人讨厌。但是,我赞同这种观点,即MySQL客户机程序应该测试错误条件
并适当地进行回应。由于某种原因,返回状态值的客户机库的调用做这些事情,而且您要承担忽略它们的后果。您最终还是要试图捕获由于没有错误检查而出现在程序中的错误,这些程序的用户会对程序运行如此不规律感到奇怪。考虑我们的程序,客户机程序1。如何知道它是否真正连接到服务器上?可以通过查看服务器的日志,找出与运行程序时间相应的Connect和Quit事件:
这条消息表示根本没有创建连接。不幸的是,客户机程序1没有告诉我们出现的这些结果。实际上它不能。它不能实现任何错误检查,所以它甚至不知道自己发生了什么事。无论如何,当然不一定必须查看日志来寻找是否能连接到服务器!让我们立刻改正它。在MySQL客户机库中返回值的例程基本上以下列两种方式之一表示成功或失败:
■ 成功时,值的指针函数返回一个非NULL 指针,失败时返回NULL(在这里NULL 的意思是“C NULL 指针”,而不是“MySQLNULL 列值”)。迄今为止,我们使用的客户机库的例程mysql_init() 和mysql_real_connect() 都用返回连接处理程序的指针来表示成功, NULL 表示失败。
■ 整型数值的函数一般成功返回0,失败返回非0。不要测试特定的非0值,如- 1。因为当失败时,并不保证客户机库函数返回任何特定的值。有时,您可能会看到像如下的较旧的错误地测试返回值的代码:
这个测试可能工作,也可能不工作。MySQLAPI 不将任何非0错误的返回指定为特定的值,而只判断它(显然地)是否为0。这个测试应该写成下面两段之一:

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment faire de Google Maps la carte par défaut sur iPhone

Correctif : erreur de demande refusée par l'opérateur dans le Planificateur de tâches Windows

Comment trier les photos par visage sous Windows 10 et 11

Comment écrire un programme de compte à rebours simple en C++ ?

Application d'horloge manquante sur iPhone : comment y remédier

Comment ouvrir un site Web à l'aide du Planificateur de tâches

Comment désinstaller rapidement des applications du Microsoft Store

iOS 17 : Comment organiser les applications iMessage dans Messages
