Категории кода ошибки MySQL - PullRequest
4 голосов
/ 03 октября 2011

Я знаю, что ошибки MySQL делятся на типы клиентов и серверов.Кто-нибудь обнаружил какую-либо дальнейшую структуру в нумерации?

Мне нравятся приложения, которые скрывают ошибки от пользователя и пытаются восстановить и продолжить выполнение, поэтому я пытаюсь переключиться с печати строки типа «Doh! Соединение не удалось».к пользовательскому классу исключений базы данных и одному обработчику для перехвата всех ошибок подключения к базе данных, которые не были обнаружены в функции, которая их вызвала или перезапустила.Я полагаю, я могу попытаться восстановить прямо там и повторно бросить, если это не удается.Я подумал, что мог бы попытаться использовать другой блок перехвата для разных типов ошибок, таких как сбои соединения, ошибки памяти, ошибки подготовленных процедур и т. Д. Когда я пытался выяснить тест для ошибок соединения, для начала было несколько кластеров.это может относиться, однако я не уверен, являются ли некоторые из них ошибками соединения или нет!Например: Ошибка 2048: (CR_INVALID_CONN_HANDLE) Неверный дескриптор соединения. (Когда это произойдет?!?)

Некоторые из ошибок перечислены в briandunning.com / коды ошибок /? Source = MySQL иметь код SQLSTATE.что это такое?

Я надеюсь, что смогу проверить диапазон или диапазоны, используя существующие коды.Кто-нибудь еще пытался это сделать?есть ли пакет груша?Как насчет хорошей книги?

Если бы они не следовали логическому шаблону, было бы мне лучше использовать свои собственные коды?Есть ли лучший подход, которого я не вижу?Это мой первый случай с исключениями, поэтому я могу ошибаться.Спасибо!

1 Ответ

1 голос
/ 03 октября 2011

Некоторые из перечисленных ошибок имеют код SQLSTATE. что это?

Из руководства MySQL:

const char *mysql_sqlstate(MYSQL *mysql)
Возвращает строку с нулевым символом в конце, содержащую код ошибки SQLSTATE для последнего выполненного оператора SQL. Код ошибки состоит из пяти символов. «00000» означает «без ошибок». Значения указаны в ANSI SQL и ODBC

Эта страница и ее подстраницы должны рассказать вам все, что вам нужно знать:
http://dev.mysql.com/doc/refman/5.0/en/error-handling.html

И вот список ошибок SQLSTATE от IBM, который входит в структуру за 5-символьным кодом ошибки: http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.sqls.doc/sqls520.htm

Цитата:

Следующая таблица является кратким справочником для интерпретации значений кода класса.

SQLSTATE 
Class_Code_Value  Outcome
 00               Success 
 01               Success with warning 
 02               No data found 
 <code>>=</code> 03            Error or warning 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...