Содержание
- Коды ошибок Visa/MasterCard/МИР
- Часто встречающиеся коды ошибок
- Безусловно негативные коды ответов
- Полные списки кодов банков-эквайеров
- ПАО « Промсвязьбанк »
- ПАО Банк «ФК Открытие»
Коды ошибок Visa/MasterCard/МИР
Содержание:
ТЕРМИНЫ И ТОЛКОВАНИЕ
Банк-эмитент — банк, выпустивший карту плательщика.
Банк-эквайер — поставщик услуги — банк, который обрабатывает платежи по кредитным или дебетовым картам плательщикам. Он связывает держателя карты (плательщика) с банком, который её выпустил, в момент совершения конкретной операции в ТСП.
Платежная система (ПС) — это сервис для перевода денежных средств в электронной или физической форме. Платежная система устанавливает определенный набор правил, программных, аппаратных и технических средств для передачи денежных средств от одной стороны другой.
Международная платежная система (МПС) — платежная система, услуги которой доступны в разных странах.
Наиболее известные платежные системы в России:
- Национальная система платежных карт Мир
- China UnionPay
- VISA International Service Association
- Mastercard
- JCB
- American Express
- Diners Club International
3-D Secure (3ds) — технология двухшагового подтверждения операции по карте с помощью смс-кода. Увеличивает безопасность проведения платежей с кредитных и дебетовых карт, которые совершаются в интернете.
Ниже собраны коды ошибок действующих банков-эквайеров/эмитентов и платежных систем.
Часто встречающиеся коды ошибок
Код 05 – отказ эмитента без указания причины — необходимо обращаться в банк, выпустивший карту;
Код 17 – отказать, отклонено пользователем карты;
Код -19 – не пройдена авторизация (как правило, при непрохождении 3ds авторизации, либо банк запрещает прохождение 3ds) — необходимо обращаться в банк, выпустивший карту;
Код 41 – утерянная карта — необходимо обращаться в банк, выпустивший карту;
Код 43 – украденная карта — необходимо обращаться в банк, выпустивший карту;
Код 51 – недостаточно средств для проведения операции;
Код 57 – недопустимый тип операции для данного типа карты (например, попытка оплаты в магазине по карте предназначенной только для снятия наличных);
Код 61 – превышение максимальной суммы операции или количества попыток для данной карты; превышен лимит на терминале продавца; недостаточно средств на счете продавца, в случае выплат (более точное описание смотрите ниже, исходя из обслуживающего банка) — необходимо обращаться в банк, выпустивший карту;
Код 62 – заблокированная карта — необходимо обращаться в банк, выпустивший карту;
Код 65 – превышение максимального количества операции для данной карты — необходимо обращаться в банк, выпустивший карту;
Код 83 – ошибка сети (технические проблемы);
Код 91 – эмитент недоступен (технические проблемы на стороне банка-эмитента);
Код 96 – системная ошибка/невозможно связаться с банком, который выдал карту (требуется сверка с эквайером);
Код 66 — установлена блокировка банком для данной карты на основании требований МПС (как правило, за совершение подряд отказных от эмитента операций, например, с кодами 05, 51,61,65 и 41,43,93,14); ограничитель, блокирующий проведение неуспешных операций по картам МasterCard после 20 отказов от Эмитентов с одной и той же карты. Блокировка карты будет срабатывать с 21-ой неуспешной операции сроком на 24 часа;
Код 70001 — н едостаточно средств на счете у компании (в случае совершения выплаты физическому лицу);
Код 88 — отказ, некорректно введен код CVC2;
Код -3 — нет ответа от эмитента/эквайера (требуется сверка/уточнение у эквайера);
1A-Call your bank — ответ предоставляет MasterCard взамен RC:65 ( превышение максимального количества операции для данной карты);
Код 405 — Strong Customer Authentication Required/Trans Status From Issuer or Payment System — не пройдена аутентификации пользователя (ошибка схожа с -19 Authentication failed) — необходимо обращаться в банк, выпустивший карту.
Безусловно негативные коды ответов
Получение негативного авторизационного кода ответа из группы безусловно негативных не допускает повторения попытки совершения операций по карте (Важно при проведении рекуррентных операций).
03 – Invalid merchant | Отклонение запроса из-за запрета выполнения операций в данной категории ТСП Требования к Эмитенту |
04 – Capture card | Отклонение запроса из-за попытки использования постоянно заблокированной карты Требования к Эмитенту |
12 – Invalid transaction | Отклонение запроса из-за запрета выполнения операций данного типа Требования к Эмитенту |
15 – Invalid issuer | Отклонение запроса Платформой из-за отсутствия Эмитента карты в БИН-таблице Требования к Эмитенту |
33 – Expired card, pick up | Отклонение запроса из-за попытки использования постоянно заблокированной карты при условии, что карта не утеряна и не украдена Требования к Эмитенту |
41 – Lost card, pick up | Отклонение запроса из-за попытки использования утерянной карты Требования к Эмитенту |
43 – Stolen card, pick up | Отклонение запроса из-за попытки использования украденной карты Требования к Эмитенту |
57 – Transaction not permitted to issuer/cardholder | Отклонение запроса из-за ограничений на продукт карты Требования к Эмитенту |
58 – Transaction not permitted to acquirer/terminal | Отклонение запроса Платформой из-за недопустимости выполнения Эквайрером операций данного типа Требования к Эмитенту |
62 – Restricted card | Отклонение запроса из-за ограничений на карту или счет Держателя карты Требования к Эмитенту |
76 – Unable to locate previous message | Отклонение отмены запроса из-за отсутствия оригинального запроса Требования к Эмитенту |
78 – Invalid/nonexistent account specified | Отклонение запроса из-за попытки использования закрытой карты Требования к Эмитенту |
92 – Unable to route transaction | Отклонение запроса Платформой из-за невозможности его маршрутизации получателю Требования к Эмитенту |
93 – Transaction cannot be completed, violation of law | Отклонение запроса по причине нарушения требований законодательства Требования к Эмитенту |
94 – Duplicate transmission detected | Отклонение задублированного запроса Требования к Эмитенту |
Полные списки кодов банков-эквайеров
ПАО « Промсвязьбанк »
1) Недостаточно средств на карте — в случае оплаты;
2) Недостаточно средств на счете — в случае выплаты.
Result Code | Description | Описание |
Approved | Операция прошла успешно | |
1 | Call your bank | Позвоните в свой банк |
3 | Invalid merchant | Недействительный продавец |
4 | Your card is restricted | Ограничение в проведении операции на стороне эмитента |
5 | Transaction declined | Операция отклонена без указания причины |
12 | Invalid transaction | Недействительная операция, возможно ошибки в параметрах запроса к платёжной системе |
13 | Invalid amount | Недопустимая сумма |
14 | No such card | Такая карта не существует |
15 | No such card/issuer | Нет такой карты / эмитента |
20 | Invalid response | Неверный ответ |
30 | Format error | Ошибка в параметрах запроса к платёжной системе |
41 | Lost card | Карта утеряна (статус установлен у эмитента) |
43 | Stolen card | Карта украдена |
51 | Not sufficient funds | |
54 | Expired card | Срок действия карты истёк |
55 | Incorrect PIN | Неверный PIN-код |
57 | Not permitted to client | Операция не разрешена для клиента (как правило, о тказ приходит со стороны платёжной системы) |
58 | Not permitted to merchant | Не разрешено продавцу (заблокирован терминал) |
61 | Exceeds amount limit | Сумма операции превысила допустимый лимит (также, возможен отказ от платёжной системы) |
62 | Restricted card | Запрещённая карта |
63 | Security violation | Нарушение безопасности |
65 | Exceeds frequency limit | Превышен лимит |
75 | PIN tries exceeded | Превышено количество попыток ввода PIN-кода |
76 | Wrong PIN,tries exceeded | Неверный PIN-код, количество попыток превышено |
82 | Time-out at issuer | Тайм-аут при соединении с эмитентом |
83 | Transaction failed | Транзакция неуспешна |
86 | Unable to verify PIN | Невозможно проверить PIN-код |
89 | Authentication failure | Ошибка аутентификации |
91 | Issuer unavailable | Эмитент недоступен |
93 | Violation of law | Операция отклонена. Держателю необходимо обратиться в свой банк |
95 | Reconcile error | Возникает, когда операция была уже проведена. |
96 | System malfunction | Системная ошибка Возможно ошибки в параметрах запроса к платёжной системе |
-2 | Bad CGI request | Неверно сформирован запрос к платёжному шлюзу |
-3 | No or Invalid response received | Платёжный шлюз вовремя не получил ответ. Статус операции при этом может быть успешным или неуспешным. |
-4 | Server is not responding | Сервер не отвечает |
-5 | Connect failed | Сбой соединения |
-8 | Error in card number field | Ошибка в поле номера карты |
-9 | Error in card expiration date field | Введена неверная дата срока действия карты |
-10 | Error in amount field | Ошибка в поле суммы |
-11 | Error in currency field | Ошибка в поле валюты |
-12 | Error in merchant terminal field | Некорректный запрос к платежному шлюзу |
-17 | Access denied | Отказано в доступе (Возможно ошибка при формировании P_SIGN) |
-18 | Error in CVC2 or CVC2 Description fields | Ошибка в поле CVC2 |
-19 | Authentication failed | Аутентификация прошла неуспешно (3d-secure), возможны другие причины. |
-20 | Expired transaction | Время проведения операции превышает значение параметра TIMESTAMP |
-21 | Duplicate transaction | Отправлен повторный запрос с идентичными параметрами |
70001 | Not sufficient funds | Недостаточно средств на счете. |
ПАО Банк «ФК Открытие»
1) Для операции Pay — cумма превышает разрешенный суточный лимит (необходимо обратиться к эмитенту);
2) Для операций Payout — недостаточно средств на счете или превышен месячный лимит на терминале (необходимо обратиться к эквайеру).
Источник
Adblock
detector
Result Code | Description | Описание |
00 | Approved | Успешная транзакция |
01 | Refer to card issuer | Обратитесь к эмитенту карты |
02 | Refer to card issuer, special condition | Обратитесь к эмитенту карты, особое условие |
03 | Invalid merchant or service provider | Недействительный идентификатор продавца |
04 | Pickup card | Изъять карту |
05 | Do not honor | Транзакция была отклонена эмитентом без объяснения причин |
06 | Error | Эмитент карты вернул ошибку без дополнительных объяснений |
07 | Pickup card, special condition (other than lost/stolen card) | Изъять карту, специальные условия |
08 | Honor with identification | Не пройдена идентификация, проблема с идентификацией |
09 | Request in progress | Выполняется запрос |
10 | Approved for partial amount | Одобрено для частичной суммы |
11 | Approved, VIP Approved, VIP program | Одобрено для VIP, программа VIP |
12 | Invalid transaction | Запрошенная транзакция не поддерживается или недействительна для представленного номера карты |
13 | Invalid amount | Сумма превышает лимиты, установленные эмитентом для данного типа транзакции |
14 | Invalid card (no such number) | Эмитент указывает, что эта карта недействительна. |
15 | No such issuer | Номер эмитента карты недействителен |
16 | Approved, update track 3 | Утверждено, обновить |
17 | Customer cancellation | Отмена клиентом |
18 | Customer dispute | Открыт спор с клиентом |
19 | Re-enter transaction | Клиент должен повторно отправить транзакцию |
20 | Invalid response | Неверный ответ |
21 | No action taken | Никаких действий не предпринимается. Эмитент отказался без других объяснений |
22 | Suspected malfunction | Предполагаемая неисправность |
23 | Unacceptable transaction fee | Неприемлемая комиссия за транзакцию |
24 | File update not supported | Обновление файла не поддерживается |
25 | Unable to locate record | Невозможно найти запись |
26 | Duplicate record | Дублирующая запись |
27 | File update edit error | Ошибка редактирования обновления файла |
28 | File update file locked | Файл/обновления файла заблокировано |
29 | not used | не используется |
30 | Format error | Ошибка формата |
31 | Bank not supported | Банк не поддерживается коммутатором |
32 | Completed partially | Завершено частично |
33 | Expired card, pick-up | Срок действия карты истек |
34 | Issuer suspects fraud, pick-up card | Эмитент карты подозревает мошенничество |
35 | Contact acquirer, pick-up | Обратиться к эмитенту карты |
36 | Restricted card, pick-up | Ограничено эмитентом карты |
37 | Call ECHO security, pick-up | Обратитесь в службу безопасности |
38 | PIN tries exceeded, pick-up | Количество попыток получения PIN-кода превышает лимиты эмитента |
39 | No credit account | Нет кредитного счета |
40 | Function not supported | Запрошенная функция не поддерживается |
41 | Pickup card (lost card) | Карта была утеряна |
42 | No universal account | Нет универсальной учетной записи |
43 | Pickup card (stolen card) | Карта была украдена |
44 | No investment account | Нет инвестиционного счета |
45 | 50 not used | не используется |
51 | Not sufficient funds | Недостаточно средств на карте (только для оплат) |
52 | No checking account | Нет текущего счета |
53 | No savings account | Нет сберегательного счета |
54 | Expired card | Срок действия карты истек |
55 | Incorrect PIN | Неправильный PIN-код держателя карты |
56 | No card record | Нет такой карты |
57 | Transaction not permitted to cardholder | Операция не разрешена держателю карты. Карта не разрешена для запрошенного типа транзакции. |
58 | Transaction not permitted on terminal | Транзакция не разрешена на терминале. Продавцу запрещен этот тип транзакции (заблокирован терминал; сработало ограничение и т.д. необходимо уточнять подробности у эквайера) |
59 | Suspected fraud | Предполагаемое мошенничество |
60 | Contact ECHO | Связаться с службой безопасности |
61 | Exceeds withdrawal limit |
Статьи » Расшифровка КОДОВ ОШИБОК Windows
Для более удобного поиска вашей ошибки используйте CTRL+F
0000 0x0000 Операция успешно завершена.
0001 0x0001 Неверная функция.
0002 0x0002 Системе не удается найти указанный файл.
0003 0x0003 Системе не удается найти указанный путь.
0004 0x0004 Системе не удается открыть файл.
0005 0x0005 Нет доступа.
0006 0x0006 Неверный дескриптор.
0007 0x0007 Повреждены управляющие блоки памяти.
0008 0x0008 Недостаточно памяти для обработки команды.
0009 0x0009 Неверный адрес управляющего блока памяти.
0010 0x000A Ошибка в среде.
0011 0x000B Была сделана попытка загрузить программу, имеющую неверный формат.
0012 0x000C Код доступа неверен.
0013 0x000D Ошибка в данных.
0014 0x000E Недостаточно памяти для завершения операции.
0015 0x000F Системе не удается найти указанный диск.
0016 0x0010 Не удается удалить каталог
0017 0x0011 Системе не удается переместить файл на другой диск.
0018 0x0012 Больше файлов не осталось.
0019 0x0013 Носитель защищен от записи.
0020 0x0014 Системе не удается найти указанное устройство.
0021 0x0015 Устройство не готово.
0022 0x0016 Устройство не опознает команду.
0023 0x0017 Ошибка в данных (CRC)
0024 0x0018 Длина выданной программой команды слишком велика.
0025 0x0019 Не удается найти заданную область или дорожку на диске.
0026 0x001A Нет доступа к диску или дискете.
0027 0x001B Не удается найти заданный сектор на диске.
0028 0x001C На принтере кончилась бумага.
0029 0x001D Системе не удается произвести запись на устройство.
0030 0x001E Системе не удается произвести чтение с устройства.
0031 0x001F Присоединенное к системе устройство не работает.
0032 0x0020 Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.
0033 0x0021 Процесс не может получить доступ к файлу, так как часть этого файла заблокирована другим процессом.
0034 0x0022 В устройство вставлен неверный диск. Вставьте %2 (серийный номер тома: %3) в устройство %1.
0036 0x0024 Слишком много файлов открыто для совместного доступа.
0038 0x0026 Достигнут конец файла.
0039 0x0027 Диск заполнен до конца.
0050 0x0032 Запрос сети не поддерживается.
0051 0x0033 Удаленный компьютер недоступен.
0052 0x0034 В сети имеется два ресурса с одинаковыми именами.
0053 0x0035 Не найден сетевой путь.
0054 0x0036 Сеть занята.
0055 0x0037 Сетевой ресурс или устройство более недоступно.
0056 0x0038 Достигнут предел по числу команд для сетевой части BIOS.
0057 0x0039 Аппаратная ошибка сетевой платы.
0058 0x003A Указанный сервер не может выполнить требуемую операцию.
0059 0x003B Неожиданная ошибка в сети.
0060 0x003C Несовместимый удаленный контроллер.
0061 0x003D Очередь принтера заполнена до конца.
0062 0x003E На сервер отсутствует место для записи файла, выводимого на печать.
0063 0x003F Ваш файл, находившийся в очереди вывода на печать, был удален.
0064 0x0040 Указанное сетевое имя более недоступно.
0065 0x0041 Нет доступа к сети.
0066 0x0042 Неверно указан тип сетевого ресурса.
0067 0x0043 Не найдено сетевое имя.
0068 0x0044 Превышен предел по числу имен для локальной сетевой платы компьютера.
0069 0x0045 Превышен предел по числу сеансов сетевой системы ввода/вывода (BIOS).
0070 0x0046 Сервер сети был остановлен или находится в процессе запуска.
0071 0x0047 Количество подключений к удаленному компьютеру достигло предела, поэтому установка дополнительных подключений невозможна.
0072 0x0048 Работа указанного принтера или дискового накопителя была остановлена.
0080 0x0050 Файл существует.
0082 0x0052 Не удается создать файл или каталог.
0083 0x0053 Сбой прерывания INT 24
0084 0x0054 Недостаточно памяти для обработки запроса.
0085 0x0055 Имя локального устройства уже используется.
0086 0x0056 Сетевой пароль указан неверно.
0087 0x0057 Параметр задан неверно.
0088 0x0058 Ошибка записи в сети.
0089 0x0059 В настоящее время системе не удается запустить другой процесс.
0100 0x0064 Не удается создать еще один системный семафор.
0101 0x0065 Семафор эксклюзивного доступа занят другим процессом.
0102 0x0066 Семафор установлен и не может быть закрыт.
0103 0x0067 Семафор не может быть установлен повторно.
0104 0x0068 Запросы к семафорам эксклюзивного доступа на время выполнения прерываний не допускаются.
0105 0x0069 Этот семафор более не принадлежит использовавшему его процессу.
0106 0x006A Вставьте диск в устройство %1.
0107 0x006B Программа была остановлена, так как нужный диск вставлен не был.
0108 0x006C Диск занят или заблокирован другим процессом.
0109 0x006D Канал был закрыт.
0110 0x006E Системе не удается открыть указанное устройство или файл.
0111 0x006F Указано слишком длинное имя файла.
0112 0x0070 Недостаточно места на диске.
0113 0x0071 Исчерпаны внутренние идентификаторы файлов.
0114 0x0072 Внутренний идентификатор конечного файла неверен.
0117 0x0075 Вызов IOCTL приложением произведен неверно.
0118 0x0076 Параметр проверки записи данных имеет неверное значение.
0119 0x0077 Система не может обработать полученную команду.
0120 0x0078 Эта функция допустима только в режиме Win32.
0121 0x0079 Истек интервал ожидания семафора.
0122 0x007A Область данных, переданная по системному вызову, слишком мала.
0123 0x007B Синтаксическая ошибка в имени файла, имени каталога или метке тома.
0124 0x007C Неверный уровень системного вызова.
0125 0x007D У диска отсутствует метка тома.
0126 0x007E Не найден указанный модуль.
0127 0x007F Не найдена указанная процедура.
0128 0x0080 Дочерние процессы, окончания которых требуется ожидать, отсутствуют.
0129 0x0081 Приложение %1 нельзя запустить в режиме Win32.
0130 0x0082 Попытка использовать дескриптор файла для открытия раздела диска и выполнения операции, отличающейся от ввода/вывода нижнего уровня.
0131 0x0083 Попытка поместить указатель на файл перед началом файла.
0132 0x0084 Указатель на файл не может быть установлен на заданное устройство или файл.
0133 0x0085 Команды JOIN и SUBST не могут быть использованы для дисков, содержащих уже объединенные диски.
0134 0x0086 Попытка использовать команду JOIN или SUBST для диска, уже включенного в набор объединенных дисков.
0135 0x0087 Попытка использовать команду JOIN или SUBST для диска, который уже был отображен.
0136 0x0088 Попытка снять признак объединения с диска, для которого команда JOIN не выполнялась.
0137 0x0089 Попытка снять признак отображения с диска, для которого команда SUBST не выполнялась.
0138 0x008A Попытка объединить диск с каталогом на объединенном диске.
0139 0x008B Попытка отобразить диск на каталог, находящийся на отображенном диске.
0140 0x008C Попытка объединить диск с каталогом на отображенном диске.
0141 0x008D Попытка отобразить диск на каталог, находящийся на объединенном диске.
0142 0x008E В настоящее время выполнить команду JOIN или SUBST невозможно.
0143 0x008F Система не может объединить или отобразить диск на каталог (с каталогом) с этого же диска.
0144 0x0090 Этот каталог не является подкаталогом корневого.
0145 0x0091 Каталог непуст.
0146 0x0092 Указанный путь используется для отображенного диска.
0147 0x0093 Недостаточно ресурсов для обработки команды.
0148 0x0094 Указанный путь в настоящее время использовать нельзя.
0149 0x0095 Попытка объединить или отобразить диск, каталог на котором уже используется для отображения.
0150 0x0096 Сведения о трассировке в файле CONFIG.SYS не найдены, либо трассировка запрещена.
0151 0x0097 Число семафоров для DosMuxSemWait задано неверно.
0152 0x0098 Не выполнен вызов DosMuxSemWait. Установлено слишком много семафоров.
0153 0x0099 Некорректный вызов DosMuxSemWait.
0154 0x009A Длина метки тома превосходит предел, установленный для файловой системы.
0155 0x009B Не удается создать еще один поток команд.
0156 0x009C Принимающий процесс отклонил сигнал.
0157 0x009D Сегмент уже освобожден и не может быть заблокирован.
0158 0x009E Блокировка с сегмента уже снята.
0159 0x009F Адрес идентификатора потока команд задан неверно.
0160 0x00A0 DosExecPgm передан неверный аргумент.
0161 0x00A1 Путь указан неверно.
0162 0x00A2 Сигнал уже находится в состоянии обработки.
0164 0x00A4 Создание дополнительных потоков команд невозможно.
0167 0x00A7 Не удается снять блокировку с области файла.
0170 0x00AA Требуемый ресурс занят.
0173 0x00AD Запрос на блокировку соответствует определенной области.
0174 0x00AE Файловая система не поддерживает указанные изменения типа блокировки.
0180 0x00B4 Системой обнаружен неверный номер сегмента.
0182 0x00B6 Операционная система не может запустить %1.
0183 0x00B7 Невозможно создать файл, так как он уже существует.
0186 0x00BA Передан неверный флаг.
0187 0x00BB Не найдено указанное имя системного семафора.
0188 0x00BC Операционная система не может запустить %1.
0189 0x00BD Операционная система не может запустить %1.
0190 0x00BE Операционная система не может запустить %1.
0191 0x00BF Не удается запустить %1 в режиме Win32.
0192 0x00C0 Операционная система не может запустить %1.
0193 0x00C1 %1 не является приложением Win32.
0194 0x00C2 Операционная система не может запустить %1.
0195 0x00C3 Операционная система не может запустить %1.
0196 0x00C4 Операционная система не может запустить это приложение.
0197 0x00C5 Конфигурация операционной системы не рассчитана на запуск этого приложения.
0198 0x00C6 Операционная система не может запустить %1.
0199 0x00C7 Операционная система не может запустить это приложение.
0200 0x00C8 Сегмент кода не может превышать 64 Кбайт.
0201 0x00C9 Операционная система не может запустить %1.
0202 0x00CA Операционная система не может запустить %1.
0203 0x00CB Системе не удается найти указанный параметр среды.
0205 0x00CD Ни один из процессов в дереве команды не имеет обработчика сигналов.
0206 0x00CE Имя файла или его расширение имеет слишком большую длину.
0207 0x00CF Стек занят.
0208 0x00D0 Подстановочные знаки * и/или ? заданы неверно или образуют неверный шаблон имени.
0209 0x00D1 Отправляемый сигнал неверен.
0210 0x00D2 Не удается установить обработчик сигналов.
0212 0x00D4 Сегмент заблокирован и не может быть перемещен.
0214 0x00D6 К этой программе или модулю присоединено слишком много динамически подключаемых модулей.
0215 0x00D7 Вызовы LoadModule не могут быть вложены.
0230 0x00E6 Состояние канала является неверным.
0231 0x00E7 Все копии канала заняты.
0232 0x00E8 Идет закрытие канала.
0233 0x00E9 С обоих концов канала отсутствуют процессы.
0234 0x00EA Имеются дополнительные данные.
0240 0x00F0 Сеанс был прекращен.
0254 0x00FE Имя дополнительного атрибута было задано неверно.
0255 0x00FF Дополнительные атрибуты несовместимы между собой.
0259 0x0103 Дополнительные данные отсутствуют.
0266 0x010A Не удается использовать интерфейс (API) Copy.
0267 0x010B Неверно задано имя каталога.
0275 0x0113 Дополнительные атрибуты не уместились в буфере.
0276 0x0114 Файл дополнительных атрибутов поврежден.
0277 0x0115 Файл дополнительных атрибутов переполнен.
0278 0x0116 Неверно указан дескриптор дополнительного атрибута.
0282 0x011A Установленная файловая система не поддерживает дополнительные атрибуты.
0288 0x0120 Попытка освободить не принадлежащий процессу объект синхронизации.
0298 0x012A Слишком много попыток занесения события для семафора.
0299 0x012B Запрос Read/WriteProcessMemory был выполнен только частично.
0317 0x013D Не удается найти сообщение с номером 0x%1 в файле сообщений %2.
0487 0x01E7 Попытка обращения к неверному адресу.
0534 0x0216 Длина результата арифметической операции превысила 32 разряда.
0535 0x0217 С другой стороны канала присутствует процесс.
0536 0x0218 Идет ожидание открытия процессом другой стороны канала.
0994 0x03E2 Нет доступа к дополнительным атрибутам.
0995 0x03E3 Операция ввода/вывода была прервана из-за завершения потока команд или по запросу приложения.
0996 0x03E4 Наложенное событие ввода/вывода не находится в сигнальном состоянии.
0997 0x03E5 Протекает наложенное событие ввода/вывода.
0998 0x03E6 Неверная попытка доступа к адресу памяти.
0999 0x03E7 Ошибка при выполнении операции со страницей.
1001 0x03E9 Слишком глубокий уровень рекурсии. Стек переполнен.
1002 0x03EA Окно не может взаимодействовать с отправленным сообщением.
1003 0x03EB Не удается завершить выполнение функции.
1004 0x03EC Флаги установлены неверно.
1005 0x03ED Не удается опознать присутствующую на томе файловую систему. Убедитесь в том, что все системные драйверы загружены, а также в исправности самого тома.
1006 0x03EE Том для открытого файла был изменен извне, так что работа с файлом невозможна.
1007 0x03EF Заданная операция не может быть выполнена в полноэкранном режиме.
1008 0x03F0 Попытка ссылки на несуществующий элемент.
1009 0x03F1 База данных реестра повреждена.
1010 0x03F2 Параметр реестра имеет неверное значение.
1011 0x03F3 Не удается открыть параметр реестра.
1012 0x03F4 Не удается прочитать параметр реестра.
1013 0x03F5 Не удается записать параметр реестра.
1014 0x03F6 Один из файлов в базе данных реестра должен был быть восстановлен с помощью протокола или резервной копии. Восстановление прошло успешно.
1015 0x03F7 Реестр поврежден. Структура одного из файлов, содержащего данные реестра, повреждена. Возможно поврежден образ файла в памяти, или файл не удалось восстановить из-за отсутствия резервной копии/протокола.
1016 0x03F8 Операция ввода/вывода, инициированная реестром, закончилась неисправимым сбоем. Не удалось считать, записать или закрыть один из файлов, содержащих системный образ реестра.
1017 0x03F9 При попытке загрузить или восстановить файл реестра выяснилось, что этот файл имеет неверный формат.
1018 0x03FA Попытка произвести недопустимую операцию над параметром реестра, отмеченным для удаления.
1019 0x03FB Не удалось выделить требуемое место в протоколе реестра.
1020 0x03FC Нельзя создать символическую связь для параметра реестра, который уже содержит подпараметры или значения.
1021 0x03FD Нельзя создать статический подпараметр для временного родительского параметра.
1022 0x03FE Запрос на оповещение об изменениях завершается, однако данные не были возвращены в буфер вызывающей процедуры. Теперь эта процедура нуждается в переборе файлов для поиска изменений.
1051 0x041B Команда остановки была отправлена службе, от которой зависят другие службы.
1052 0x041C Команда неуместна для данной службы
1053 0x041D Служба не ответила на запрос своевременно.
1054 0x041E Не удалось создать поток команд для службы.
1055 0x041F База данных службы заблокирована.
1056 0x0420 Одна копия службы уже запущена.
1057 0x0421 Имя учетной записи задано неверно или не существует.
1058 0x0422 Указанная служба отключена или не может быть запущена.
1059 0x0423 Была сделана попытка установить циклическую зависимость между службами.
1060 0x0424 Указанная служба не установлена.
1061 0x0425 Служба в настоящее время не может принимать команды.
1062 0x0426 Служба не запущена.
1063 0x0427 Процесс службы не может установить связь с контроллером службы.
1064 0x0428 Ошибка службы при обработке команды.
1065 0x0429 Указанная база данных не существует.
1066 0x042A Служба возвратила код ошибки.
1067 0x042B Процесс был неожиданно завершен.
1068 0x042C Не удалось запустить дочернюю службу.
1069 0x042D Служба не запущена из-за сбоя при входе.
1070 0x042E «Сразу после запуска служба «»зависла»».»
1071 0x042F Блокировка базы данных указанной службы наложена неверно.
1072 0x0430 Указанная служба была отмечена для удаления.
1073 0x0431 Указанная служба уже существует.
1074 0x0432 Система в настоящий момент работает с использованием последней корректной конфигурации.
1075 0x0433 Дочерняя служба не существует или была отмечена для удаления.
1076 0x0434 Текущая конфигурация уже была задействована в качестве источника последнего корректного набора параметров.
1077 0x0435 С момента последней загрузки попытки запустить службу не делались.
1078 0x0436 Имя уже задействовано в качестве имени службы.
1100 0x044C Достигнут физический конец ленты.
1101 0x044D Достигнута метка файла.
1102 0x044E Обнаружено начало раздела ленты.
1103 0x044F Достигнут конец набора файлов.
1104 0x0450 Больше данных на ленте нет.
1105 0x0451 Не удается создать на ленте разделы.
1106 0x0452 Неверный размер блока при обращении к новой ленте многотомного раздела.
1107 0x0453 Сведения о разделах при загрузке ленты не обнаружены.
1108 0x0454 Не удается заблокировать механизм извлечения носителя.
1109 0x0455 Не удается извлечь носитель.
1110 0x0456 Носитель в устройстве мог быть заменен.
1111 0x0457 Шина ввода/вывода была инициализирована заново.
1112 0x0458 Отсутствует носитель в устройстве.
1113 0x0459 В многобайтовой кодовой странице отсутствует символ для одного из кодов в формате Unicode.
1114 0x045A Произошел сбой в программе инициализации библиотеки динамической компоновки (DLL).
1115 0x045B Идет завершение работы системы.
1116 0x045C Прервать завершение работы системы невозможно, так как оно не было инициировано.
1117 0x045D Запрос не был выполнен из-за ошибки ввода/вывода на устройстве.
1118 0x045E Ни одно из последовательных устройств успешно инициализировано не было. Драйвер последовательных устройств будет выгружен.
1119 0x045F Не удается открыть устройство, использующее общий с другими устройствами запрос на прерывание (IRQ). Как минимум одно устройство, использующее этот же запрос IRQ, уже было открыто.
1120 0x0460 Последовательная операция ввода/вывода была завершена в результате следующей операции записи в последовательный порт. (Значение IOCTL_SERIAL_XOFF_COUNTER достигло 0.)
1121 0x0461 Последовательная операция ввода/вывода была завершена по истечении периода ожидания. (Значение IOCTL_SERIAL_XOFF_COUNTER не достигло 0.)
1122 0x0462 На гибком диске не обнаружена адресная метка идентификатора.
1123 0x0463 Обнаружено несоответствие между полем идентификатора сектора гибкого диска и адресом дорожки контроллера.
1124 0x0464 Ошибка, возвращенная контроллером гибких дисков, не опознается драйвером.
1125 0x0465 Контроллером гибких дисков возвращены некорректные значения регистров.
1126 0x0466 Зафиксирован многократный сбой операции проверки при обращении к жесткому диску.
1127 0x0467 Зафиксирован многократный сбой операции при обращении к жесткому диску.
1128 0x0468 При обращении к жесткому диску потребовался сброс контроллера, однако даже его произвести не удалось.
1129 0x0469 Достигнут физический конец ленты.
1130 0x046A Недостаточно памяти сервера для обработки команды.
1131 0x046B Обнаружена вероятность возникновения взаимоблокировки.
1132 0x046C Базовый адрес или смещение имеют неверное выравнивание.
1140 0x0474 Попытка изменения режима питания была заблокирована другим приложением или драйвером.
1141 0x0475 Сбой BIOS при попытке изменения режима питания.
1150 0x047E Для указанной программы требуется более поздняя версия Windows.
1151 0x047F Указанная программа не является программой для Windows или MS-DOS.
1152 0x0480 Запуск более одной копии указанной программы невозможен.
1153 0x0481 Указанная программа была написана для одной из предыдущих версий Windows.
1154 0x0482 Поврежден один из файлов библиотек, необходимых для выполнения данного приложения.
1155 0x0483 Указанному файлу не сопоставлено ни одно приложение для выполнения данной операции.
1156 0x0484 Ошибка при пересылке команды приложению.
1157 0x0485 Не найден один из файлов библиотек, необходимых для выполнения данного приложения.
1200 0x04B0 Указано неверное имя устройства.
1201 0x04B1 Устройство в настоящее время не присоединено, однако сведения о нем в конфигурации присутствуют.
1202 0x04B2 Попытка записать сведения об устройстве, которые уже были записаны.
1203 0x04B3 Ни одна из систем доступа к сети не смогла обработать заданный сетевой путь.
1204 0x04B4 Имя системы доступа к сети задано неверно.
1205 0x04B5 Не удается открыть конфигурацию подключения к сети.
1206 0x04B6 Конфигурация подключения к сети повреждена.
1207 0x04B7 Перечисление для объектов, не являющихся контейнерами, невозможно.
1208 0x04B8 Ошибка.
1209 0x04B9 Неверный формат имени группы.
1210 0x04BA Неверный формат имени компьютера.
1211 0x04BB Неверный формат имени события.
1212 0x04BC Неверный формат имени домена.
1213 0x04BD Неверный формат имени службы.
1214 0x04BE Неверный формат сетевого имени.
1215 0x04BF Неверный формат имени ресурса.
1216 0x04C0 Неверный формат пароля.
1217 0x04C1 Неверный формат имени сообщения.
1218 0x04C2 Неверный формат задания адреса, по которому отправляется сообщение.
1219 0x04C3 Представленные идентификационные сведения конфликтуют с имеющимися.
1220 0x04C4 Попытка установки сеанса связи с сервером сети, для которого достигнут предел по числу таких сеансов.
1221 0x04C5 Имя рабочей группы или домена уже используется другим компьютером в сети.
1222 0x04C6 Сеть отсутствует или не запущена.
1223 0x04C7 Операция была отменена пользователем.
1224 0x04C8 Указанная операция не может быть выполнена для файла с открытым разделом.
1225 0x04C9 Удаленная система отклонила запрос на подключение к сети.
1226 0x04CA Сетевое подключение было закрыто.
1227 0x04CB Конечной точке транспорта уже сопоставлен адрес.
1228 0x04CC Конечной точке сети еще не сопоставлен адрес.
1229 0x04CD Попытка выполнить операцию для несуществующего сетевого подключения.
1230 0x04CE Попытка выполнить недопустимую операцию для активного сетевого подключения.
1231 0x04CF Этот транспорт не обеспечивает доступа к удаленной сети.
1232 0x04D0 Этот транспорт не обеспечивает доступа к удаленной системе.
1233 0x04D1 Удаленная система не поддерживает транспортный протокол.
1234 0x04D2 На конечном звене нужной сети удаленной системы не запущена ни одна служба.
1235 0x04D3 Запрос был снят.
1236 0x04D4 Подключение к сети было разорвано локальной системой.
1237 0x04D5 Не удалось завершить операцию. Следует повторить ее.
1238 0x04D6 Не удалось произвести подключение к серверу, так как достигнут предел по числу одновременно установленных соединений.
1239 0x04D7 Попытка входа в сеть в непредусмотренное для этого пользователя (учетной записи) время дня.
1240 0x04D8 Данный пользователь не может войти в сеть с этой станции.
1241 0x04D9 Нельзя использовать сетевой адрес для данной операции.
1242 0x04DA Служба уже зарегистрирована.
1243 0x04DB Указанная служба не существует.
1244 0x04DC Запрошенная операция не была выполнена, так как пользователь не зарегистрирован.
1245 0x04DD Запрошенная операция не была выполнена, так как пользователь не подключен к сети. Указанная служба не существует.
1246 0x04DE Требуется продолжить выполняющуюся операцию.
1247 0x04DF Попытка выполнить операцию инициализации, которая уже проведена.
1248 0x04E0 Больше локальных устройств не найдено.
1300 0x0514 Пользователь обладает не всеми использованными правами доступа.
1301 0x0515 Не было установлено соответствие между именами пользователей и идентификаторами защиты.
1302 0x0516 Системные квоты для данной учетной записи не установлены.
1303 0x0517 Ключ шифрования недоступен.
1304 0x0518 Пароль NT слишком сложен и не может быть преобразован в пароль LAN Manager. Вместо пароля LAN Manager была возвращена пустая строка.
1305 0x0519 Версия изменений неизвестна.
1306 0x051A Два уровня изменений несовместимы между собой.
1307 0x051B Этот код защиты не может соответствовать владельцу объекта.
1308 0x051C Этот код защиты не может соответствовать основной группе объекта.
1309 0x051D Предпринята попытка использования элемента имперсонификации потоком команд, который в данное время не производит имперсонификацию процесса.
1310 0x051E Группу нельзя отключить.
1311 0x051F Отсутствуют серверы, которые могли бы обработать запрос на вход в сеть.
1312 0x0520 Указанный сеанс работы не существует. Возможно, он уже завершен.
1313 0x0521 Указанное право доступа не существует.
1314 0x0522 Указанное право доступа у клиента отсутствует.
1315 0x0523 Указанное имя не является корректным именем пользователя.
1316 0x0524 Пользователь с указанным именем уже существует.
1317 0x0525 Пользователь с указанным именем не существует.
1318 0x0526 Указанная группа уже существует.
1319 0x0527 Указанная группа не существует.
1320 0x0528 Указанный пользователь уже является членом заданной группы, либо группа не может быть удалена, так как содержит как минимум одного пользователя.
1321 0x0529 Указанный пользователь не является членом заданной группы.
1322 0x052A Последнюю учетную запись из группы администраторов нельзя отключить или удалить.
1323 0x052B Не удается обновить пароль. Текущий пароль был задан неверно.
1324 0x052C Не удается обновить пароль. Новый пароль содержит недопустимые символы.
1325 0x052D Не удается обновить пароль. Было нарушено одно из правил обновления.
1326 0x052E Вход в сеть не произведен: имя пользователя или пароль не опознаны.
1327 0x052F Вход в сеть не произведен: имеются ограничения, связанные с учетной записью.
1328 0x0530 Вход в сеть не произведен: учетная запись не предусматривает возможность входа в данное время.
1329 0x0531 Вход в сеть не произведен: пользователю не предоставлено право работы на этом компьютере.
1330 0x0532 Вход в сеть не произведен: срок действия указанного пароля истек.
1331 0x0533 Вход в сеть не произведен: учетная запись в настоящее время отключена.
1332 0x0534 Именам пользователей не сопоставлены коды защиты данных.
1333 0x0535 Одновременно запрошено слишком много локальных кодов пользователей.
1334 0x0536 Дополнительные локальные коды пользователей недоступны.
1335 0x0537 Часть кода защиты данных неверна.
1336 0x0538 Список управления доступом (ACL) имеет неверную структуру.
1337 0x0539 Код защиты данных имеет неверную структуру.
1338 0x053A Дескриптор защиты данных имеет неверную структуру.
1340 0x053C Не удается построить список управления доступом (ACL) или элемент этого списка (ACE).
1341 0x053D Сервер в настоящее время отключен.
1342 0x053E Сервер в настоящее время включен.
1343 0x053F Значение задано неверно.
1344 0x0540 Недостаточно памяти для обновления сведений, относящихся к защите данных.
1345 0x0541 Указанные атрибуты неверны или несовместимы с атрибутами группы в целом.
1346 0x0542 Требуемый уровень имперсонификации не обеспечен, или обеспеченный уровень неверен.
1347 0x0543 Не удается открыть элемент защиты данных неизвестного уровня.
1348 0x0544 Запрошен неверный класс сведений для проверки.
1349 0x0545 Тип элемента не соответствует требуемой операции.
1350 0x0546 Операция, связанная с защитой данных, не может быть выполнена для незащищенного объекта.
1351 0x0547 Недоступен сервер Windows NT, или объекты внутри домена защищены. Требуемые сведения недоступны.
1352 0x0548 Диспетчер защиты (SAM) или локальный сервер (LSA) не смог выполнить требуемую операцию.
1353 0x0549 Состояние домена не позволило выполнить нужную операцию.
1354 0x054A Эта операция разрешена только для главного контроллера домена.
1355 0x054B Указанный домен не существует.
1356 0x054C Указанный домен уже существует.
1357 0x054D Была сделана попытка превысить предел на число доменов, обслуживаемых одним сервером.
1358 0x054E Не удается завершить требуемую операцию из-за сбоев в данных на диске или неустранимой ошибки носителя.
1359 0x054F База данных системы защиты содержит внутренние противоречия.
1360 0x0550 Универсальные типы доступа содержатся в маске доступа, которая должна была уже быть связана с нестандартными типами.
1361 0x0551 Дескриптор защиты имеет неверный формат.
1362 0x0552 Требуемое действие может использоваться только в процессе входа в сеть Вызвавший его процесс не зарегистрирован как относящийся к процедуре входа.
1363 0x0553 Запуск нового сеанса работы с уже использующимся кодом невозможен.
1364 0x0554 Пакет аутентификации не опознан.
1365 0x0555 Операция не соответствует текущему состоянию процесса входа в сеть.
1366 0x0556 Код сеанса уже используется.
1367 0x0557 Режим входа задан неверно.
1368 0x0558 Не удается обеспечить представление через именованный конвейер до тех пор, пока данные не прочитаны с этого конвейера.
1369 0x0559 Операция несовместима с состоянием транзакции для ветви реестра.
1370 0x055A База данных защиты повреждена.
1371 0x055B Операция не предназначена для встроенных учетных записей.
1372 0x055C Операция не предназначена для встроенной специальной группы.
1373 0x055D Операция не предназначена для встроенного специального пользователя.
1374 0x055E Нельзя удалить пользователя из группы, так как она является для него основной.
1375 0x055F Элемент уже используется в качестве основного элемента.
1376 0x0560 Указанная локальная группа не существует.
1377 0x0561 Указанный пользователь не входит в локальную группу.
1378 0x0562 Указанный пользователь уже является членом локальной группы.
1379 0x0563 Указанная локальная группа уже существует.
1380 0x0564 Вход в сеть не произведен: пользователю не разрешено производить вход в сеть в данном режиме с этого компьютера.
1381 0x0565 Достигнут предел по количеству защищенных данных/ресурсов для одной системы.
1382 0x0566 Длина защищенных данных превышает максимально возможную.
1383 0x0567 Локальная база данных защиты содержит внутренние несоответствия.
1384 0x0568 В процессе входа в сеть было использовано слишком много кодов защиты.
1385 0x0569 Вход в сеть не произведен: выбранный режим входа для данного пользователя на этом компьютере не предусмотрен.
1386 0x056A Для смены пароля необходим зашифрованный пароль.
1387 0x056B Не удается добавить нового пользователя в локальную группу, так как этот пользователь не существует.
1388 0x056C Не удается добавить нового пользователя в группу, так как этот пользователь имеет неверный тип учетной записи.
1389 0x056D Задано слишком много кодов защиты.
1390 0x056E Для смены пароля необходим зашифрованный пароль.
1391 0x056F Список управления доступом (ACL) не содержит наследуемых компонентов
1392 0x0570 Файл или каталог поврежден. Чтение невозможно.
1393 0x0571 Структура диска повреждена. Чтение невозможно.
1394 0x0572 Отсутствует ключ для указанного сеанса входа в сеть.
1395 0x0573 Количество подключений к службе ограничено. Дополнительные подключения в настоящее время невозможны.
1400 0x0578 Неверный дескриптор окна.
1401 0x0579 Неверный дескриптор меню.
1402 0x057A Неверный дескриптор указателя.
1403 0x057B Неверный дескриптор таблицы сочетаний клавиш.
1404 0x057C Неверный дескриптор обработчика.
1405 0x057D Неверный дескриптор многооконной структуры.
1406 0x057E Не удается создать дочернее окно верхнего уровня.
1407 0x057F Не удается найти класс окна.
1408 0x0580 Окно принадлежит другому потоку команд.
1409 0x0581 Назначенная клавиша уже зарегистрирована.
1410 0x0582 Класс уже существует.
1411 0x0583 Класс не существует.
1412 0x0584 Не все окна, принадлежащие данному классу, закрыты.
1413 0x0585 Неверный индекс.
1414 0x0586 Неверный дескриптор значка.
1415 0x0587 Используются ключевые слова, относящиеся к окнам диалога типа private.
1416 0x0588 Идентификатор списка не найден.
1417 0x0589 Подстановочные знаки не обнаружены.
1418 0x058A Буфер обмена для потока команд не открыт.
1419 0x058B Назначенная клавиша не зарегистрирована.
1420 0x058C Окно не является окном диалога.
1421 0x058D Не найден идентификатор элемента управления.
1422 0x058E Неверное сообщение для поля со списком (поле не имеет области ввода).
1423 0x058F Окно не является полем со списком.
1424 0x0590 Высота не может превышать 256.
1425 0x0591 Неверный дескриптор контекста устройства (DC).
1426 0x0592 Неверный тип процедуры обработки.
1427 0x0593 Неверная процедура обработки.
1428 0x0594 Невозможно установить нелокальный обработчик без дескриптора модуля.
1429 0x0595 Эта процедура обработки может быть только глобальной.
1430 0x0596 Процедура для обработки журнала уже установлена.
1431 0x0597 Процедура обработки не установлена.
1432 0x0598 Неверное сообщение для простого списка.
1433 0x0599 Параметр LB_SETCOUNT отправлен списку неверного типа.
1434 0x059A Список не входит в порядок обхода элементов управления.
1435 0x059B Нельзя уничтожить объект, созданный другим потоком команд.
1436 0x059C Дочерние окна не могут иметь меню.
1437 0x059D Окно не имеет системного меню.
1438 0x059E Неверный тип окна сообщения.
1439 0x059F Неверный системный параметр (SPI_*).
1440 0x05A0 Экран уже заблокирован.
1441 0x05A1 Дескрипторы всех окон, входящих в многооконную структуру, должны иметь общий родительский дескриптор.
1442 0x05A2 Окно не является дочерним.
1443 0x05A3 Неверная команда GW_*.
1444 0x05A4 Неверный идентификатор потока команд.
1445 0x05A5 Невозможно обработать сообщение от окна, не являющегося компонентом многооконного (MDI) интерфейса.
1446 0x05A6 Всплывающее меню уже активно.
1447 0x05A7 Окно не имеет полос прокрутки.
1448 0x05A8 Диапазон значений для полосы прокрутки не может выходить за пределы 0x7FFF.
1449 0x05A9 Невозможно отобразить или удалить окно указанным способом.
1450 0x05AA Недостаточно системных ресурсов для завершения операции.
1451 0x05AB Недостаточно системных ресурсов для завершения операции.
1452 0x05AC Недостаточно системных ресурсов для завершения операции.
1453 0x05AD Недостаточная квота для завершения операции.
1454 0x05AE Недостаточная квота для завершения операции.
1455 0x05AF Файл подкачки слишком мал для завершения операции.
1456 0x05B0 Не найден пункт меню.
1500 0x05DC Журнал событий поврежден.
1501 0x05DD Не удается найти файл журнала событий. Служба протоколирования событий не запущена.
1502 0x05DE Журнал событий переполнен.
1503 0x05DF Журнал событий был изменен в промежутке между двумя операциями чтения.
1700 0x06A4 Неверная привязка строки.
1701 0x06A5 Неверный тип дескриптора привязки.
1702 0x06A6 Недопустимый дескриптор привязки.
1703 0x06A7 Последовательность протокола RPC не поддерживается.
1704 0x06A8 Некорректная последовательность протокола RPC.
1705 0x06A9 Неверный универсальный уникальный идентификатор строки (UUID).
1706 0x06AA Неверный формат адреса конечного узла.
1707 0x06AB Сетевой адрес задан неверно.
1708 0x06AC Конечный узел не найден.
1709 0x06AD Неверно задано значение интервала ожидания.
1710 0x06AE Универсальный уникальный идентификатор объекта (UUID) не найден.
1711 0x06AF Универсальный уникальный идентификатор объекта (UUID) уже зарегистрирован.
1712 0x06B0 Универсальный уникальный идентификатор типа (UUID) уже зарегистрирован.
1713 0x06B1 Сервер RPC уже находится в режиме приема команд.
1714 0x06B2 Не зарегистрирована ни одна протокольная последовательность.
1715 0x06B3 Сервер RPC не принимает команды.
1716 0x06B4 Неизвестный тип диспетчера.
1717 0x06B5 Неизвестный интерфейс.
1718 0x06B6 Привязка отсутствует.
1719 0x06B7 Протокольные последовательности отсутствуют.
1720 0x06B8 Не удается создать конечный узел.
1721 0x06B9 Недостаточно ресурсов для завершения операции.
1722 0x06BA Сервер RPC недоступен.
1723 0x06BB Сервер RPC занят и не может завершить операцию.
1724 0x06BC Неверные параметры сети.
1725 0x06BD Активные удаленные вызовы процедур в потоке отсутствуют.
1726 0x06BE Сбой при удаленном вызове процедуры.
1727 0x06BF Сбой при удаленном вызове процедуры. Вызов не произведен.
1728 0x06C0 Ошибка протокола удаленного вызова процедур (RPC).
1730 0x06C2 Синтаксис не поддерживается сервером RPC.
1732 0x06C4 Тип универсального уникального идентификатора (UUID) не поддерживается.
1733 0x06C5 Неверный тег.
1734 0x06C6 Неверные границы массива.
1735 0x06C7 Привязка не содержит имени элемента.
1736 0x06C8 Имя имеет неверный синтаксис.
1737 0x06C9 Синтаксис имени не поддерживается.
1739 0x06CB Отсутствуют сетевые адреса, позволяющие сконструировать универсальный уникальный идентификатор (UUID).
1740 0x06CC Этот конечный узел существует в двух экземплярах.
1741 0x06CD Неизвестный тип аутентификации.
1742 0x06CE Максимальное число вызовов слишком мало.
1743 0x06CF Строка имеет слишком большую длину.
1744 0x06D0 Не найдена последовательность протокола RPC.
1745 0x06D1 Номер процедуры выходит за рамки допустимого диапазона.
1746 0x06D2 Привязка не содержит никаких сведений, относящихся к аутентификации.
1747 0x06D3 Неизвестная служба аутентификации.
1748 0x06D4 Неизвестный уровень аутентификации.
1749 0x06D5 Неверный контекст системы защиты.
1750 0x06D6 Неизвестная служба авторизации.
1751 0x06D7 Недопустимый элемент.
1752 0x06D8 Конечный узел (сервер) не может выполнить операцию.
1753 0x06D9 Дополнительные конечные узлы недоступны.
1754 0x06DA Экспорт интерфейсов не производился.
1755 0x06DB Имя элемента задано не полностью.
1756 0x06DC Неправильная версия.
1757 0x06DD Другие члены в группе отсутствуют.
1758 0x06DE Элементы, экспорт которых можно отменить, отсутствуют.
1759 0x06DF Интерфейс не найден.
1760 0x06E0 Элемент уже существует.
1761 0x06E1 Элемент не найден.
1762 0x06E2 Служба имен недоступна.
1763 0x06E3 Неверное семейство сетевых адресов.
1764 0x06E4 Операция не поддерживается.
1765 0x06E5 Отсутствует контекст защиты данных для обеспечения имперсонификации.
1766 0x06E6 Внутренняя ошибка при удаленном вызове процедуры (RPC).
1767 0x06E7 Сервер RPC попытался произвести целочисленное деление на нуль.
1768 0x06E8 Ошибка адресации на сервере RPC.
1769 0x06E9 Операция с плавающей точкой на сервере RPC привела к делению на нуль.
1770 0x06EA Исчезновение порядка при операции с плавающей точкой на сервере RPC.
1771 0x06EB Переполнение при операции с плавающей точкой на сервере RPC.
1772 0x06EC Список серверов RPC, доступных для привязки дескрипторов, был исчерпан.
1773 0x06ED Не удается открыть файл таблицы преобразования символов.
1774 0x06EE Файл таблицы преобразования символов содержит менее 512 байт.
1775 0x06EF При удаленном вызове процедуры главному компьютеру от клиента был передан пустой дескриптор контекста.
1777 0x06F1 В процессе удаленного вызова процедуры дескриптор контекста был изменен.
1778 0x06F2 Дескрипторы привязки, переданные при удаленном вызове процедуры, не соответствуют друг другу.
1779 0x06F3 Не удается получить дескриптор удаленного вызова процедуры.
1780 0x06F4 Был передан пустой указатель ссылки.
1781 0x06F5 Номер находится за пределами допустимого диапазона.
1782 0x06F6 Количество байт слишком мало.
1783 0x06F7 Переданы неверные данные.
1784 0x06F8 Имеющийся буфер не подходит для указанной операции.
1785 0x06F9 Не удается определить тип диска. Вероятно, он не отформатирован.
1786 0x06FA Рабочая станция не может участвовать в отношениях доверенности.
1787 0x06FB База данных диспетчера учетных записей на сервере Windows NT не содержит записи для регистрации этого компьютера как рабочей станции через отношения доверенности.
1788 0x06FC Установка отношений доверенности между основным доменом и доменом-доверителем не состоялась.
1789 0x06FD Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом.
1790 0x06FE Вход в сеть не произведен.
1791 0x06FF Удаленный вызов процедуры для данного потока уже произведен.
1792 0x0700 Попытка входа в сеть при отключенной сетевой службе входа.
1793 0x0701 Срок действия учетной записи пользователя истек.
1794 0x0702 Система переадресации занята и не может быть выгружена.
1795 0x0703 Указанный драйвер принтера уже установлен.
1796 0x0704 Указанный порт не существует.
1797 0x0705 Неизвестный драйвер принтера.
1798 0x0706 Неизвестный процессор печати.
1799 0x0707 Файл-разделитель задан неверно.
1800 0x0708 Приоритет задан неверно.
1801 0x0709 Имя принтера задано неверно.
1802 0x070A Принтер уже существует.
1803 0x070B Неверная команда принтера.
1804 0x070C Неверно задан тип данных.
1805 0x070D Неверно задана среда.
1806 0x070E Все привязки исчерпаны.
1807 0x070F Использованное имя является междоменным трастовым именем. Для обращения к этому серверу воспользуйтесь глобальным или локальным именем.
1808 0x0710 Указанное имя является именем компьютера. Для доступа к серверу воспользуйтесь глобальным или локальным именем пользователя.
1809 0x0711 Указанное имя является именем серверного траста. Для доступа к серверу воспользуйтесь глобальным или локальным именем пользователя.
1810 0x0712 Указанное имя или идентификатор защиты (SID) домена несовместимы со сведениями, полученными о домене через отношения доверенности.
1811 0x0713 Сервер занят и не может быть выгружен.
1812 0x0714 Файл образа не содержит раздела с ресурсами.
1813 0x0715 Указанный тип ресурса в файле образа отсутствует.
1814 0x0716 Указанное имя ресурса не найдено в файле образа.
1815 0x0717 Код языка для ресурсов в файле образа не найден.
1816 0x0718 Не удается обработать команду.
1817 0x0719 Ни один интерфейс не зарегистрирован.
1818 0x071A В процессе обработки вызова произошла смена сервера.
1819 0x071B Дескриптор привязки не содержит всей необходимой информации.
1820 0x071C Ошибка при обмене данными.
1821 0x071D Запрошенный уровень проверки имен не поддерживается.
1822 0x071E Ни одно основное имя не зарегистрировано.
1823 0x071F Указан неверный код ошибки Windows RPC.
1824 0x0720 Был создан идентификатор UUID, который подходит только для этого компьютера.
1825 0x0721 Ошибка в пакете защиты данных.
1826 0x0722 Поток команд не прерван.
1827 0x0723 Недопустимая операция для дескриптора шифрования/дешифрования.
1828 0x0724 Несовместимая версия пакета.
1829 0x0725 Несовместимая версия RPC.
1898 0x076A Член группы не найден.
1899 0x076B Не удается создать базу данных отображения конечного узла.
1900 0x076C Универсальный уникальный идентификатор объекта (UUID) имеет пустое значение.
1901 0x076D Время задано некорректно.
1902 0x076E Имя формы задано некорректно.
1903 0x076F Размер формы задан некорректно.
1904 0x0770 Указанный дескриптор принтера уже ожидается.
1905 0x0771 Указанный принтер был удален.
1906 0x0772 Некорректное состояние принтера.
1907 0x0773 Перед первым входом пользователь должен сменить свой пароль.
1908 0x0774 Не удается найти контроллер этого домена.
1909 0x0775 Учетная запись пользователя заблокирована и не может быть использована для входа в сеть.
2000 0x07D0 Неверный формат пиксела.
2001 0x07D1 Выбран неверный драйвер.
2002 0x07D2 Тип или атрибут класса окна задан неверно.
2003 0x07D3 Требуемая операция для метафайлов не поддерживается.
2004 0x07D4 Требуемая операция преобразования не поддерживается.
2005 0x07D5 Требуемая операция обрезания рисунка не поддерживается.
2202 0x089A Имя пользователя задано неверно.
2250 0x08CA Сетевое подключение не существует.
2401 0x0961 На подключенном устройстве имеются открытые файлы или запросы, ждущие обработки.
2402 0x0962 Активные подключения все еще существуют.
2404 0x0964 Устройство используется одним из активных процессов и не может быть отключено.
3000 0x0BB8 Указан неизвестный монитор печати.
3001 0x0BB9 Указанный драйвер принтера занят.
3002 0x0BBA Не найден файл диспетчера очереди.
3003 0x0BBB Не был произведен вызов StartDocPrinter.
3004 0x0BBC Не был произведен вызов AddJob.
3005 0x0BBD Указанный процессор печати уже установлен.
3006 0x0BBE Указанный монитор печати уже установлен.
4000 0x0FA0 Ошибка WINS при обработке команды.
4001 0x0FA1 Нельзя удалить локальную часть WINS.
4002 0x0FA2 Ошибка при импорте из файла.
4003 0x0FA3 Ошибка при архивации данных. Производилась ли ранее полная архивация?
4004 0x0FA4 Ошибка при архивации данных. Проверьте каталог, в который производится архивация базы данных.
4005 0x0FA5 Имя не существует в базе данных WINS.
4006 0x0FA6 Репликация невозможна без предварительной настройки.
6118 0x17E6 Недоступен список серверов для этой рабочей группы.
Коды системных ошибок (windows error codes)
В следующем списке приведены коды системных ошибок на русском (ошибки от 0 до 499).
- Ошибка при _ успешном выполнении
-
- 0 (0x0)
- Операция выполнена успешно.
- Ошибка _ Недопустимая _ функция
-
- 1 (0x1)
- Неверная функция.
- _файл ошибок _ не _ найден
-
- 2 (0x2)
- Системе не удается найти указанный файл.
- _путь к ошибке _ не _ найден
-
- 3 (0x3)
- Системе не удается найти указанный путь.
- Ошибка _ слишком _ много _ открытых _ файлов
-
- 4 (0x4)
- Системе не удается открыть файл.
- Ошибка _ отказа в доступе _
-
- 5 (0x5)
- Отказано в доступе».
- Ошибка _ недопустимого _ маркера
-
- 6 (0x6)
- Дескриптор недействителен.
- некоторая ошибка в _ _ корзине
-
- 7 (0x7)
- Блоки управления хранилищем были уничтожены.
- Ошибка _ не _ хватает _ памяти
-
- 8 (0x8)
- Недостаточно ресурсов памяти для обработки этой команды.
- Ошибка _ недопустимого _ блока
-
- 9 (0x9)
- Недопустимый адрес управляющего блока хранения.
- Ошибка _ неправильной _ среды
-
- 10 (0xA)
- Неверное окружение.
- _неправильный _ Формат ошибки
-
- 11 (0xB)
- Была сделана попытка загрузить программу, имеющую неверный формат.
- Ошибка _ доступа к недопустимым _ данным
-
- 12 (0xC)
- Недопустимый код доступа.
- Ошибка при _ недопустимых _ данных
-
- 13 (0xD)
- Недопустимые данные.
- Ошибка _ OUTOFMEMORY
-
- 14 (0xE)
- Недостаточно свободного места для выполнения этой операции.
- Ошибка _ недопустимого _ диска
-
- 15 (0xF)
- Системе не удается найти указанный диск.
- Ошибка в _ текущем _ каталоге
-
- 16 (0x10)
- Невозможно удалить каталог.
- Ошибка _ не на _ том же _ устройстве
-
- 17 (0x11)
- Системе не удается переместить файл на другой диск.
- Ошибка _ больше _ нет _ файлов
-
- 18 (0x12)
- Больше нет файлов.
- Ошибка _ записи для _ защиты
-
- 19 (0x13)
- Носитель защищен от записи.
- Ошибка _ неправильной _ единицы
-
- 20 (0x14)
- Системе не удается найти указанное устройство.
- Ошибка _ не _ готова
-
- 21 (0x15)
- Устройство не готово.
- Ошибка _ неправильной _ команды
-
- 22 (0x16)
- Устройство не распознает команду.
- CRC, ошибка _
-
- 23 (0x17)
- Ошибка данных (циклическая проверка избыточности).
- Ошибка _ неправильной _ длины
-
- 24 (0x18)
- Программа выдала команду, но длина команды неверна.
- _Поиск ошибок
-
- 25 (0x19)
- Диску не удается найти определенную область или отслеживание на диске.
- Ошибка _ при _ отсутствии _ диска DOS
-
- 26 (0x1A)
- Не удается получить доступ к указанному диску или дискете.
- _сектор ошибок _ не _ найден
-
- 27 (0x1B)
- Диску не удалось найти запрошенный сектор.
- Ошибка _ вне _ _ бумаги
-
- 28 (0x1C)
- В принтере нет бумаги.
- Ошибка _ записи _ ошибки
-
- 29 (0x1D)
- Системе не удается выполнить запись на указанное устройство.
- Ошибка при _ чтении _
-
- 30 (0x1E)
- Системе не удается выполнить чтение с указанного устройства.
- Ошибка _ _ при Gen
-
- 31 (0x1F)
- Устройство, подключенное к системе, не работает.
- _нарушение общего доступа к ошибке _
-
- 32 (0x20)
- The process cannot access the file because it is being used by another process.
- _нарушение блокировки _ ошибки
-
- 33 (0x21)
- Процессу не удается получить доступ к файлу, так как другой процесс заблокировал часть этого файла.
- Ошибка _ неправильного _ диска
-
- 34 (0x22)
- В дисководе находится неверная дискета. Вставьте %2 (серийный номер тома: %3) в диск %1.
- превышено общее количество ошибок в _ общем _ буфере _
-
- 36 (0x24)
- Слишком много файлов открыто для совместного использования.
- Ошибка при _ обработке _ EOF
-
- 38 (0x26)
- Достигнут конец файла.
- Ошибка при _ обработке _ диска _ переполнена
-
- 39 (0x27)
- Диск полон.
- Ошибка _ не _ поддерживается
-
- 50 (0x32)
- Запрос не поддерживается.
- Ошибка _ REM _ не _ список
-
- 51 (0x33)
- Windows не удается найти сетевой путь. Убедитесь, что сетевой путь указан правильно и конечный компьютер не занят или отключен. Если Windows по-прежнему не удается найти сетевой путь, обратитесь к администратору сети.
- Ошибка _ DUP _ имя
-
- 52 (0x34)
- Вы не подключены, так как в сети существует повторяющееся имя. При присоединении к домену перейдите в раздел система на панели управления, чтобы изменить имя компьютера, и повторите попытку. При присоединении к Рабочей группе Выберите другое имя рабочей группы.
- Ошибка _ неправильного _ нетпас
-
- 53 (0x35)
- Сетевой путь не найден».
- Ошибка » _ сеть _ занята»
-
- 54 (0x36)
- Сеть занята.
- Ошибка _ dev _ не _ существует
-
- 55 (0x37)
- Указанный сетевой ресурс или устройство больше не доступны.
- Ошибка _ слишком _ много _ команд
-
- 56 (0x38)
- Достигнуто ограничение на количество команд в сети BIOS.
- Ошибка _ ADAP _ ХДВ _ Err
-
- 57 (0x39)
- Произошла аппаратная ошибка сетевого адаптера.
- Ошибка _ неправильного _ net _ отв
-
- 58 (0x3A)
- Указанный сервер не может выполнить запрошенную операцию.
- Ошибка _ унексп _ net _ Err
-
- 59 (0x3B)
- Произошла непредвиденная ошибка сети.
- ошибка с _ плохой ошибкой _ REM _ ADAP
-
- 60 (0x3C)
- Удаленный адаптер несовместим.
- Ошибка _ принтк _ Full
-
- 61 (0x3D)
- Очередь принтера заполнена.
- Ошибка _ без _ _ области очереди
-
- 62 (0x3E)
- Место для хранения файла, ожидающего печати, недоступно на сервере.
- _Печать ошибки _ отменена
-
- 63 (0x3F)
- Ваш файл, ожидающий печати, был удален.
- Ошибка _ NETNAME _ удалена
-
- 64 (0x40)
- Указанное сетевое имя более недоступно.
- Ошибка _ _ отказа в доступе к сети _
-
- 65 (0x41 влево)
- Отказано в доступе к сети.
- Ошибка _ неправильного _ _ типа dev
-
- 66 (0x42)
- Неверный тип сетевого ресурса.
- Ошибка _ неправильного _ сетевого _ имени
-
- 67 (0x43)
- Не найдено сетевое имя».
- Ошибка _ слишком _ много _ имен
-
- 68 (0x44)
- Превышено ограничение на число имен для сетевого адаптера локального компьютера.
- Ошибка _ слишком _ много _ подряд
-
- 69 (0x45)
- Превышено ограничение на количество сеансов сетевой BIOS.
- _общий доступ к ошибкам _ приостановлен
-
- 70 (0x46)
- Удаленный сервер приостановлен или находится в процессе запуска.
- Ошибка _ req _ не _ акцеп
-
- 71 (0x47)
- В настоящее время больше нет доступных подключений к этому удаленному компьютеру, так как количество подключений, которое может принять компьютер, уже установлено.
- Ошибка _ редир _ приостановлена
-
- 72 (0x48)
- Указанный принтер или дисковое устройство приостановлены.
- _файл ошибок _ существует
-
- 80 (0x50)
- Файл существует
- Ошибка _ не может _ быть
-
- 82 (0x52)
- Не удается создать каталог или файл.
- Ошибка при _ сбое _ I24
-
- 83 (0x53)
- Сбой на INT 24.
- Ошибка _ из _ _ структур
-
- 84 (0x54)
- Хранилище для обработки этого запроса недоступно.
- Ошибка _ уже _ назначена
-
- 85 (0x55)
- Имя локального устройства уже используется.
- Ошибка _ неправильного _ пароля
-
- 86 (0x56)
- Указан неверный сетевой пароль.
- Ошибка _ недопустимого _ параметра
-
- 87 (0x57)
- Неправильный параметр».
- Ошибка _ ошибки _ записи в сеть _
-
- 88 (0x58)
- В сети произошла ошибка записи.
- Ошибка _ без _ _ слотов процедур
-
- 89 (0x59)
- В данный момент система не может запустить другой процесс.
- Ошибка _ слишком _ большого числа _ семафоров
-
- 100 (0x64)
- Невозможно создать другой системный семафор.
- Ошибка _ без _ _ уже существующего _ владельца SEM
-
- 101 (0x65)
- Эксклюзивный семафор принадлежит другому процессу.
- указана ошибка _ SEM _ _
-
- 102 (0x66)
- Семафор установлен и не может быть закрыт.
- Ошибка _ слишком _ много _ _ запросов SEM
-
- 103 (0x67)
- Семафор не может быть установлен повторно.
- Ошибка _ недопустима _ во _ _ время прерывания
-
- 104 (0x68)
- Не удается запросить эксклюзивные семафоры во время прерывания.
- Ошибка _ SEM _ owner _ умер
-
- 105 (0x69)
- Предыдущее владение этим семафором завершено.
- Ошибка _ в _ _ ограничении пользователя SEM
-
- 106 (0x6A)
- Вставьте дискету для диска %1.
- Ошибка _ при _ изменении диска
-
- 107 (0x6B)
- Программа остановлена, так как не вставлена дополнительная дискета.
- Ошибка _ _ блокировки диска
-
- 108 (0x6C)
- Диск занят или заблокирован другим процессом.
- Ошибка при _ нарушении _ канала
-
- 109 (0x6D)
- Канал завершен.
- Ошибка _ _ при открытии
-
- 110 (0x6E)
- Системе не удается открыть указанное устройство или файл.
- _ _ переполнение буфера ошибки
-
- 111 (0x6F)
- Имя файла слишком длинное.
- Ошибка _ _ переполнения диска
-
- 112 (0x70)
- Недостаточно места на диске.
- Ошибка _ больше _ нет _ _ дескрипторов поиска
-
- 113 (0x71)
- Больше нет доступных идентификаторов внутренних файлов.
- Ошибка _ недопустимого _ целевого _ маркера
-
- 114 (0x72)
- Неверный целевой внутренний идентификатор файла.
- Ошибка _ недопустимой _ категории
-
- 117 (0x75)
- Вызов IOCTL, сделанный программой приложения, неверен.
- Ошибка _ при _ проверке недопустимого _ параметра
-
- 118 (0x76)
- Неправильное значение параметра проверки-on-Write.
- ОШИБКА с _ неправильным _ _ уровнем драйвера
-
- 119 (0x77)
- Система не поддерживает запрошенную команду.
- _вызов ошибки _ не _ реализован
-
- 120 (0x78)
- Эта функция не поддерживается в этой системе.
- Ошибка _ _ времени ожидания SEM
-
- 121 (0x79)
- Истек период ожидания семафора.
- Ошибка _ недостаточного _ буфера
-
- 122 (0x7A)
- Область данных, переданная в системный вызов, слишком мала.
- Ошибка _ недопустимое _ имя
-
- 123 (0x7B)
- Синтаксическая ошибка в имени файла, имени каталога или метке тома.
- _Недопустимый _ уровень ошибки
-
- 124 (0x7C)
- Неверный уровень системного вызова.
- Ошибка _ без _ _ метки тома
-
- 125 (0x7D)
- Диск не имеет метки тома.
- Ошибка _ Mod _ не _ найдена
-
- 126 (0x7E)
- Не найден указанный модуль.
- Ошибка _ _ не _ найдена процедура
-
- 127 (0x7F)
- Не удалось найти указанную процедуру.
- Ошибка _ Ожидание _ отсутствия _ дочерних элементов
-
- 128 (0x80)
- Нет дочерних процессов для ожидания.
- Ошибка _ дочернего элемента _ не _ завершена
-
- 129 (0x81)
- Приложение %1 не может быть запущено в режиме Win32.
- Ошибка _ прямого _ доступа к _ обработчику
-
- 130 (0x82)
- Попытка использовать маркер файла для открытого раздела диска для операции, отличной от операций ввода-вывода с необработанным диском.
- Ошибка при _ поиске отрицательных результатов _
-
- 131 (0x83)
- Предпринята попытка переместить указатель на файл перед началом файла.
- _Поиск ошибок _ на _ устройстве
-
- 132 (0x84)
- Не удается задать указатель файла для указанного устройства или файла.
- Ошибка _ : _ Присоединение к _ целевому объекту
-
- 133 (0x85)
- Команду JOIN или SUBST нельзя использовать для диска, который содержит ранее подключенные диски.
- Ошибка _ _ присоединена
-
- 134 (0x86)
- Предпринята попытка использовать команду JOIN или SUBST на диске, который уже присоединен.
- _указана _ Ошибка
-
- 135 (0x87)
- Была предпринята попытка использовать команду JOIN или SUBST на диске, который уже был заменен.
- Ошибка _ не _ присоединена
-
- 136 (0x88)
- Система попыталась удалить соединение диска, который не присоединен.
- не удается отобразить ошибку _ _
-
- 137 (0x89)
- Система попыталась удалить подстановку незаменяемого диска.
- Ошибка при _ присоединении _ к _ соединению
-
- 138 (0x8A)
- Система попыталась присоединить диск к каталогу на присоединенном диске.
- Ошибка _ subst _ для _ subst
-
- 139 (0x8B)
- Система попыталась заменить диск на каталог на подставляемом диске.
- Ошибка при _ присоединении _ к _ subst
-
- 140 (0x8C)
- Система попыталась присоединить диск к каталогу на подставляемом диске.
- Ошибка _ subst _ для _ Присоединение
-
- 141 (0x8D)
- Система попыталась отобразить диск в каталог на присоединенном диске.
- _диск занят _
-
- 142 (0x8E)
- В настоящее время системе не удается выполнить соединение или SUBST.
- Ошибка на _ том же _ диске
-
- 143 (0x8F)
- Система не может присоединить или заменить диск на каталог или для каталога на том же диске.
- Ошибка _ dir _ не _ корневая папка
-
- 144 (0x90)
- Каталог не является вложенным каталогом корневого каталога.
- Ошибка _ dir, _ не _ пустая
-
- 145 (0x91)
- Каталог не пуст.
- Ошибка _ — _ _ путь SUBST
-
- 146 (0x92)
- Указанный путь используется в подстановке.
- Ошибка _ — _ путь к соединению _
-
- 147 (0x93)
- Недостаточно ресурсов для обработки этой команды.
- _путь к ошибке _ занят
-
- 148 (0x94)
- Указанный путь не может быть использован в настоящее время.
- Ошибка _ : _ subst _ Target
-
- 149 (0x95)
- Предпринята попытка присоединить или заменить диск, для которого каталог на диске является целью предыдущего замены.
- Ошибка _ _ трассировки системы
-
- 150 (0x96)
- Данные трассировки системы не указаны в файле CONFIG.SYS, или трассировка запрещена.
- Ошибка при _ неправильном _ _ числе событий
-
- 151 (0x97)
- Указано неправильное число указанных событий семафора для Досмукссемваит.
- Ошибка _ слишком _ много _ муксваитерс
-
- 152 (0x98)
- Досмукссемваит не выполнен; уже задано слишком много семафоров.
- Ошибка _ недопустимого _ _ формата списка
-
- 153 (0x99)
- Недопустимый список Досмукссемваит.
- _ _ слишком _ ДЛИННая метка ошибки
-
- 154 (0x9A)
- Введенная метка тома превышает ограничение на количество символов в целевой файловой системе.
- Ошибка _ слишком _ много _ ткбс
-
- 155 (0x9B)
- Не удается создать другой поток.
- _сигнал ошибки _ отклонен
-
- 156 (0x9C)
- Процесс получателя отклонил сигнал.
- Ошибка _ отклонена
-
- 157 (0x9D)
- Сегмент уже удален и не может быть заблокирован.
- Ошибка _ не _ заблокирована
-
- 158 (0x9E)
- Сегмент уже разблокирован.
- ОШИБКА с _ неверным _ _ адресом THREADID
-
- 159 (0x9F)
- Неправильный адрес для идентификатора потока.
- ошибочные _ _ аргументы
-
- 160 (0X82)
- Один или несколько аргументов неверны.
- ОШИБКА с _ неверным _ путем
-
- 161 (0xA1)
- Указан недопустимый путь.
- _сигнал ошибки _ в ожидании
-
- 162 (0xA2)
- Сигнал уже находится в состоянии ожидания.
- Ошибка _ Max _ СРДС _ достигнуто
-
- 164 (токенов 0xA4)
- В системе больше нельзя создавать потоки.
- _сбой блокировки _ ошибки
-
- 167 (0xA7)
- Не удалось заблокировать область файла.
- Ошибка _ занята
-
- 170 (0xAA)
- Запрошенный ресурс уже используется.
- Ошибка _ _ _ в процессе поддержки _ устройства
-
- 171 (0xAB)
- Идет обнаружение поддержки команд устройства.
- Ошибка _ отмены _ нарушения
-
- 173 (0xAD)
- Запрос блокировки не был выполнен для указанной региона отмены.
- ОШИБКИ _ атомарных _ блокировок _ не _ поддерживаются
-
- 174 (0xAE)
- Файловая система не поддерживает атомарные изменения типа блокировки.
- Ошибка _ недопустимого _ _ номера сегмента
-
- 180 (0xB4)
- Система обнаружила неверный номер сегмента.
- ОШИБКА с _ недопустимым _ порядковым номером
-
- 182 (0xB6)
- Операционная система не может выполнить %1.
- Ошибка _ уже _ существует
-
- 183 (0xB7)
- невозможно создать файл, так как он уже существует.
- Ошибка _ недопустимого _ номера флага _
-
- 186 (0xBA)
- Передан неверный флаг.
- Ошибка _ SEM _ не _ найдена
-
- 187 (0xBB)
- Указанное имя системного семафора не найдено.
- Ошибка _ при _ запуске _ кодесег
-
- 188 (0xBC)
- Операционная система не может выполнить %1.
- Ошибка _ недопустимого _ стакксег
-
- 189 (0xBD)
- Операционная система не может выполнить %1.
- Ошибка _ недопустимого _ MODULETYPE
-
- 190 (0xBE)
- Операционная система не может выполнить %1.
- Ошибка _ недопустимой _ _ подписи exe
-
- 191 (0xBF)
- Не удается выполнить %1 в режиме Win32.
- Ошибка _ exe _ помечена как _ Недопустимая
-
- 192 (0xC0)
- Операционная система не может выполнить %1.
- Ошибка в _ неправильном _ _ формате exe
-
- 193 (0xC1)
- %1 не является допустимым приложением Win32.
- Данные об ошибках при _ итерации _ _ превышают _ 64 КБ
-
- 194 (0xC2)
- Операционная система не может выполнить %1.
- Ошибка _ недопустимого _ миналлоксизе
-
- 195 (0xC3)
- Операционная система не может выполнить %1.
- Ошибка _ динлинк _ из _ недопустимого _ кольца
-
- 196 (0xC4)
- Операционная система не может запустить эту программу приложения.
- Ошибка _ иопл _ не _ включена
-
- 197 (0xC5)
- Операционная система в настоящее время не настроена для запуска этого приложения.
- Ошибка _ недопустимого _ сегдпл
-
- 198 (0xC6)
- Операционная система не может выполнить %1.
- Ошибка _ аутодатасег _ превышает _ 64 КБ
-
- 199 (0xC7)
- Операционная система не может запустить эту программу приложения.
- Ошибка _ RING2SEG _ должна _ быть _ перемещаемой
-
- 200 (0xC8)
- Сегмент кода не может быть больше или равен 64 КБ.
- ERROR _ reloc _ chain _ ксидс _ сеглим
-
- 201 (0xC9)
- Операционная система не может выполнить %1.
- Ошибка _ инфлуп _ в _ _ цепочке reloc
-
- 202 (0xCA)
- Операционная система не может выполнить %1.
- Ошибка _ ENVVAR _ не _ найдена
-
- 203 (0xCB)
- Системе не удалось найти указанный параметр среды.
- Ошибка _ не _ _ отправлен сигнал
-
- 205 (0xCD)
- Ни один из процессов в поддереве команды не имеет обработчика сигналов.
- Ошибка _ имя файла _ ексцед _ Range
-
- 206 (0xCE)
- Слишком длинное имя файла или расширение.
- Ошибка _ _ _ при использовании стека RING2 _
-
- 207 (0xCF)
- Стек Ring 2 используется.
- _ _ _ слишком _ длинное расширение мета для ошибки
-
- 208 (0xD0)
- Символы глобального имени файла * или? введены неправильно или указано слишком много символов глобального имени файла.
- Ошибка _ недопустимого _ _ номера сигнала
-
- 209 (0xD1)
- Отправляемый сигнал неверен.
- _Поток ошибок _ 1 _ неактивен
-
- 210 (0xD2)
- Не удается установить обработчик сигналов.
- Ошибка _ заблокирована
-
- 212 (0xD4)
- Сегмент заблокирован и не может быть выделен повторно.
- Ошибка _ слишком _ много _ модулей
-
- 214 (0xD6)
- К этой программе или модулю динамической компоновки подключено слишком много модулей динамической компоновки.
- _вложенность ошибок _ _ запрещена
-
- 215 (0xD7)
- Невозможно вложить вызовы в LoadModule.
- Ошибка _ exe _ _ _ несоответствие типов компьютеров
-
- 216 (0xD8)
- Эта версия %1 несовместима с версией Windows, которую вы используете. Проверьте сведения о системе компьютера, а затем обратитесь к издателю программного обеспечения.
- Ошибка _ exe _ не _ может _ изменить _ двоичный файл со знаком
-
- 217 (0xD9)
- Файл образа %1 подписан, его невозможно изменить.
- Ошибка _ exe _ не _ может _ изменить _ _ двоичный файл со строгим знаком
-
- 218 (0xDA)
- Файл образа %1 имеет строгие подписи, его невозможно изменить.
- файл с ОШИБКАми _ _ извлечен _
-
- 220 (0xDC)
- Этот файл извлечен или заблокирован для редактирования другим пользователем.
- _требуется извлечение _ ошибок
-
- 221 (0xDD)
- Перед сохранением изменений необходимо извлечь файл.
- Ошибка _ неправильного _ _ типа файла
-
- 222 (0xDE)
- Сохраняемый или извлекаемый тип файла заблокирован.
- _файл ошибок _ слишком _ большой
-
- 223 (0xDF)
- Размер файла превышает допустимый предел и не может быть сохранен.
- _ _ требуется проверка подлинности форм с ошибками _
-
- 224 (0xE0)
- Доступ запрещен. Перед открытием файлов в этом расположении необходимо сначала добавить веб-сайт в список надежных сайтов, перейти на веб-сайт и выбрать параметр автоматического входа.
- ОШИБОЧный _ вирус _ заражен
-
- 225 (0xE1)
- Операция не была успешно завершена, так как файл содержит вирус или потенциально нежелательное программное обеспечение.
- Ошибка _ при _ удалении вируса
-
- 226 (0xE2)
- Этот файл содержит вирус или потенциально нежелательное программное обеспечение и не может быть открыт. Из-за природы этого вируса или потенциально нежелательного программного обеспечения файл был удален из этого расположения.
- _локальный канал _ ошибки
-
- 229 (0xE5)
- Канал является локальным.
- Ошибка _ неверного _ канала
-
- 230 (0xE6)
- Недопустимое состояние канала.
- _канал ошибки _ занят
-
- 231 (0xE7)
- Все экземпляры канала заняты.
- Ошибка _ без _ данных
-
- 232 (0xE8)
- Канал закрывается.
- _канал ошибки _ не _ подключен
-
- 233 (0xE9)
- Процесс отсутствует на другом конце канала.
- Ошибка _ дополнительных _ данных
-
- 234 (0xEA)
- More data is available.
- Ошибка _ VC _ DISCONNECTED
-
- 240 (0xF0)
- Сеанс был отменен.
- Ошибка _ недопустимого _ _ имени EA
-
- 254 (0xFE)
- Указано недопустимое имя расширенного атрибута.
- _несоответствие _ списка EA с ошибками _
-
- 255 (0xFF)
- Расширенные атрибуты непоследовательны.
- _время ожидания ожидания
-
- 258 (0x102)
- Время операции ожидания истекло.
- Ошибка _ больше _ нет _ элементов
-
- 259 (0x103)
- Больше нет доступных данных.
- Ошибка _ при _ копировании
-
- 266 (0x10A)
- Функции копирования использовать нельзя.
- _Каталог ошибок
-
- 267 (0x10B)
- Недопустимое имя каталога.
- Ошибка _ EAS _ окончательный _
-
- 275 (0x113)
- Расширенные атрибуты не помещаются в буфер.
- Ошибка _ EA _ File _ поврежден
-
- 276 (0x114)
- Файл расширенного атрибута в подключенной файловой системе поврежден.
- Ошибка _ _ таблицы EA _ Full
-
- 277 (0x115)
- Файл расширенной таблицы атрибутов заполнен.
- Ошибка _ недопустимого _ _ маркера EA
-
- 278 (0x116)
- Указан недопустимый расширенный маркер атрибута.
- Ошибка _ EAS _ не _ поддерживается
-
- 282 (0x11A)
- Подключенная файловая система не поддерживает расширенные атрибуты.
- ОШИБКА, _ не _ владелец
-
- 288 (0x120)
- Попытка освободить мьютекс, не принадлежащий вызывающему объекту.
- Ошибка _ слишком _ много _ записей
-
- 298 (0x12A)
- В семафоре создано слишком много записей.
- Ошибка _ частичной _ копии
-
- 299 (0x12B)
- Завершена только часть запроса Реадпроцессмемори или Вритепроцессмемори.
- Ошибка » _ нежесткая блокировка _ не _ предоставлена»
-
- 300 (0x12C)
- Запрос на нежесткую блокировку отклоняется.
- Ошибка _ недопустимого _ протокола нежесткой блокировки _
-
- 301 (0x12D)
- Система получила недопустимое подтверждение на нежесткую блокировку.
- Ошибка _ _ слишком _ фрагментации диска
-
- 302 (0x12E)
- Том слишком фрагментирован для выполнения этой операции.
- Ошибка _ удаления _ в ожидании
-
- 303 (0x12F)
- Не удается открыть файл, так как он находится в процессе удаления.
- Ошибка _ несовместима _ с _ глобальным _ _ _ параметром реестра Short Name _
-
- 304 (0x130)
- Параметры короткого имени не могут быть изменены на этом томе из-за параметра глобального реестра.
- _ _ _ _ _ в томе не включены короткие имена _ ошибок
-
- 305 (0x131)
- Короткие имена не включены на этом томе.
- _несоответствие _ потока _ безопасности при ошибке _
-
- 306 (0x132)
- Поток безопасности для данного тома находится в нестабильном состоянии. Запустите CHKDSK на томе.
- Ошибка _ недопустимого _ _ диапазона блокировки
-
- 307 (0x133)
- Запрошенная операция блокировки файла не может быть обработана из-за недопустимого диапазона байтов.
- _подсистема изображения ошибки _ _ отсутствует _
-
- 308 (0x134)
- Отсутствует подсистема, необходимая для поддержки типа образа.
- GUID уведомления об ОШИБКе _ _ _ уже _ определен
-
- 309 (0x135)
- С указанным файлом уже связан GUID уведомления.
- Ошибка _ недопустимого _ _ обработчика исключений
-
- 310 (0x136)
- Обнаружена недопустимая подсистема обработчика исключений.
- Ошибка при _ дублировании _ привилегий
-
- 311 (0x137)
- Для токена указаны дублирующиеся привилегии.
- Ошибка _ не _ _ обработано диапазонов
-
- 312 (0x138)
- Не удалось обработать диапазоны для указанной операции.
- Ошибка _ не _ разрешена _ в _ системном _ файле
-
- 313 (0x139)
- Операция не разрешена для внутреннего файла файловой системы.
- _дисковые ресурсы с ошибками _ _ исчерпаны
-
- 314 (0x13A)
- Физические ресурсы этого диска исчерпаны.
- Ошибка _ недопустимого _ токена
-
- 315 (0x13B)
- Недопустимый токен, представляющий данные.
- Функция устройства с ОШИБКАми _ _ _ не _ поддерживается
-
- 316 (0x13C)
- Устройство не поддерживает функцию команды.
- Ошибка _ MR _ _ не _ найдена
-
- 317 (0x13D)
- Системе не удается найти текст сообщения с номером 0x %1 в файле сообщений для %2.
- _область ошибок _ не _ найдена
-
- 318 (0x13E)
- Указанная область не найдена.
- Ошибка _ НЕопределенной _ области
-
- 319 (0x13F)
- Указанная Централизованная политика доступа не определена на целевом компьютере.
- Ошибка _ недопустимого _ ограничения
-
- 320 (0x140)
- Централизованная политика доступа, полученная из Active Directory, недопустима.
- устройство с ОШИБКАми _ _ недоступно
-
- 321 (0x141)
- Устройство недоступно.
- устройство с ОШИБКАми — _ _ нет _ ресурсов
-
- 322 (0x142)
- На целевом устройстве недостаточно ресурсов для завершения операции.
- Ошибка _ _ контрольной суммы данных об ошибках _
-
- 323 (0x143)
- Произошла ошибка контрольной суммы целостности данных. Данные в файловом потоке повреждены.
- Ошибка при _ ВЗАИМОсмешанных _ _ _ операциях ядра EA
-
- 324 (0x144)
- Была предпринята попытка изменить как ядро, так и нормальный Расширенный атрибут (EA) в одной операции.
- Ошибка _ _ Trim на уровне файлов _ _ не _ поддерживается
-
- 326 (0x146)
- Устройство не поддерживает УСЕЧЕНИЕ на уровне файлов.
- _ _ нарушение выравнивания по СМЕЩЕНию ошибок _
-
- 327 (0x147)
- В команде указано смещение данных, которое не соответствует детализации или выравниванию устройства.
- Ошибка _ недопустимого _ поля _ в _ _ списке параметров
-
- 328 (0x148)
- В списке параметров команды указано недопустимое поле.
- Ошибка _ при выполнении операции _ _
-
- 329 (0x149)
- В настоящее время выполняется операция с устройством.
- Ошибка _ неправильного _ _ пути к устройству
-
- 330 (0x14A)
- Предпринята попытка отправить команду через недопустимый путь к целевому устройству.
- Ошибка _ слишком _ большого числа _ дескрипторов
-
- 331 (0x14B)
- В команде указано число дескрипторов, превышающих максимальное поддерживаемое устройством.
- Ошибка _ очистки _ данных _ отключена
-
- 332 (0x14C)
- Очистка в указанном файле отключена.
- Ошибка _ не является _ избыточным _ хранилищем
-
- 333 (0x14D)
- Устройство хранения данных не обеспечивает избыточность.
- _резидентный _ файл ошибок _ не _ поддерживается
-
- 334 (0x14E)
- Операция не поддерживается для резидентных файлов.
- сжатый файл с ОШИБКАми _ _ _ не _ поддерживается
-
- 335 (0x14F)
- Операция не поддерживается для сжатого файла.
- _Каталог ошибок _ не _ поддерживается
-
- 336 (0x150)
- Операция не поддерживается в каталоге.
- Ошибка _ _ чтения _ из _ копии
-
- 337 (0x151)
- Не удалось прочитать указанную копию запрошенных данных.
- Ошибка _ при _ перезагрузке «Недействие» _
-
- 350 (0x15E)
- Не было предпринято никаких действий, так как требуется перезагрузка системы.
- Ошибка _ при _ завершении работы
-
- 351 (0x15F)
- Сбой операции завершения работы.
- Ошибка _ при _ перезапуске
-
- 352 (0x160)
- Сбой операции перезапуска.
- ОШИБОК _ _ достигнуто максимальное число сеансов _
-
- 353 (0x161)
- Достигнуто максимальное число сеансов.
- _режим потока _ ошибок _ уже является _ фоновым
-
- 400 (0x190)
- Поток уже находится в режиме фоновой обработки.
- _режим потока _ ошибок _ не является _ фоновым
-
- 401 (0x191)
- Поток не находится в режиме фоновой обработки.
- _режим обработки _ ошибок _ уже является _ фоновым
-
- 402 (0x192)
- Процесс уже находится в режиме фоновой обработки.
- _режим обработки _ ошибок _ не является _ фоновым
-
- 403 (0x193)
- Процесс не находится в режиме фоновой обработки.
- Ошибка _ недопустимого _ адреса
-
- 487 (0x1E7)
- Попытка доступа к недопустимому адресу.
В следующем списке приведены коды системных ошибок на английском (ошибки от 0 до 499).
FORMAT_MESSAGE_FROM_SYSTEM flag.
- ERROR_SUCCESS
-
- 0 (0x0)
- The operation completed successfully.
- ERROR_INVALID_FUNCTION
-
- 1 (0x1)
- Incorrect function.
- ERROR_FILE_NOT_FOUND
-
- 2 (0x2)
- The system cannot find the file specified.
- ERROR_PATH_NOT_FOUND
-
- 3 (0x3)
- The system cannot find the path specified.
- ERROR_TOO_MANY_OPEN_FILES
-
- 4 (0x4)
- The system cannot open the file.
- ERROR_ACCESS_DENIED
-
- 5 (0x5)
- Access is denied.
- ERROR_INVALID_HANDLE
-
- 6 (0x6)
- The handle is invalid.
- ERROR_ARENA_TRASHED
-
- 7 (0x7)
- The storage control blocks were destroyed.
- ERROR_NOT_ENOUGH_MEMORY
-
- 8 (0x8)
- Not enough memory resources are available to process this command.
- ERROR_INVALID_BLOCK
-
- 9 (0x9)
- The storage control block address is invalid.
- ERROR_BAD_ENVIRONMENT
-
- 10 (0xA)
- The environment is incorrect.
- ERROR_BAD_FORMAT
-
- 11 (0xB)
- An attempt was made to load a program with an incorrect format.
- ERROR_INVALID_ACCESS
-
- 12 (0xC)
- The access code is invalid.
- ERROR_INVALID_DATA
-
- 13 (0xD)
- The data is invalid.
- ERROR_OUTOFMEMORY
-
- 14 (0xE)
- Not enough storage is available to complete this operation.
- ERROR_INVALID_DRIVE
-
- 15 (0xF)
- The system cannot find the drive specified.
- ERROR_CURRENT_DIRECTORY
-
- 16 (0x10)
- The directory cannot be removed.
- ERROR_NOT_SAME_DEVICE
-
- 17 (0x11)
- The system cannot move the file to a different disk drive.
- ERROR_NO_MORE_FILES
-
- 18 (0x12)
- There are no more files.
- ERROR_WRITE_PROTECT
-
- 19 (0x13)
- The media is write protected.
- ERROR_BAD_UNIT
-
- 20 (0x14)
- The system cannot find the device specified.
- ERROR_NOT_READY
-
- 21 (0x15)
- The device is not ready.
- ERROR_BAD_COMMAND
-
- 22 (0x16)
- The device does not recognize the command.
- ERROR_CRC
-
- 23 (0x17)
- Data error (cyclic redundancy check).
- ERROR_BAD_LENGTH
-
- 24 (0x18)
- The program issued a command but the command length is incorrect.
- ERROR_SEEK
-
- 25 (0x19)
- The drive cannot locate a specific area or track on the disk.
- ERROR_NOT_DOS_DISK
-
- 26 (0x1A)
- The specified disk or diskette cannot be accessed.
- ERROR_SECTOR_NOT_FOUND
-
- 27 (0x1B)
- The drive cannot find the sector requested.
- ERROR_OUT_OF_PAPER
-
- 28 (0x1C)
- The printer is out of paper.
- ERROR_WRITE_FAULT
-
- 29 (0x1D)
- The system cannot write to the specified device.
- ERROR_READ_FAULT
-
- 30 (0x1E)
- The system cannot read from the specified device.
- ERROR_GEN_FAILURE
-
- 31 (0x1F)
- A device attached to the system is not functioning.
- ERROR_SHARING_VIOLATION
-
- 32 (0x20)
- The process cannot access the file because it is being used by another process.
- ERROR_LOCK_VIOLATION
-
- 33 (0x21)
- The process cannot access the file because another process has locked a portion of the file.
- ERROR_WRONG_DISK
-
- 34 (0x22)
- The wrong diskette is in the drive. Insert %2 (Volume Serial Number: %3) into drive %1.
- ERROR_SHARING_BUFFER_EXCEEDED
-
- 36 (0x24)
- Too many files opened for sharing.
- ERROR_HANDLE_EOF
-
- 38 (0x26)
- Reached the end of the file.
- ERROR_HANDLE_DISK_FULL
-
- 39 (0x27)
- The disk is full.
- ERROR_NOT_SUPPORTED
-
- 50 (0x32)
- The request is not supported.
- ERROR_REM_NOT_LIST
-
- 51 (0x33)
- Windows cannot find the network path. Verify that the network path is correct and the destination computer is not busy or turned off. If Windows still cannot find the network path, contact your network administrator.
- ERROR_DUP_NAME
-
- 52 (0x34)
- You were not connected because a duplicate name exists on the network. If joining a domain, go to System in Control Panel to change the computer name and try again. If joining a workgroup, choose another workgroup name.
- ERROR_BAD_NETPATH
-
- 53 (0x35)
- The network path was not found.
- ERROR_NETWORK_BUSY
-
- 54 (0x36)
- The network is busy.
- ERROR_DEV_NOT_EXIST
-
- 55 (0x37)
- The specified network resource or device is no longer available.
- ERROR_TOO_MANY_CMDS
-
- 56 (0x38)
- The network BIOS command limit has been reached.
- ERROR_ADAP_HDW_ERR
-
- 57 (0x39)
- A network adapter hardware error occurred.
- ERROR_BAD_NET_RESP
-
- 58 (0x3A)
- The specified server cannot perform the requested operation.
- ERROR_UNEXP_NET_ERR
-
- 59 (0x3B)
- An unexpected network error occurred.
- ERROR_BAD_REM_ADAP
-
- 60 (0x3C)
- The remote adapter is not compatible.
- ERROR_PRINTQ_FULL
-
- 61 (0x3D)
- The printer queue is full.
- ERROR_NO_SPOOL_SPACE
-
- 62 (0x3E)
- Space to store the file waiting to be printed is not available on the server.
- ERROR_PRINT_CANCELLED
-
- 63 (0x3F)
- Your file waiting to be printed was deleted.
- ERROR_NETNAME_DELETED
-
- 64 (0x40)
- The specified network name is no longer available.
- ERROR_NETWORK_ACCESS_DENIED
-
- 65 (0x41)
- Network access is denied.
- ERROR_BAD_DEV_TYPE
-
- 66 (0x42)
- The network resource type is not correct.
- ERROR_BAD_NET_NAME
-
- 67 (0x43)
- The network name cannot be found.
- ERROR_TOO_MANY_NAMES
-
- 68 (0x44)
- The name limit for the local computer network adapter card was exceeded.
- ERROR_TOO_MANY_SESS
-
- 69 (0x45)
- The network BIOS session limit was exceeded.
- ERROR_SHARING_PAUSED
-
- 70 (0x46)
- The remote server has been paused or is in the process of being started.
- ERROR_REQ_NOT_ACCEP
-
- 71 (0x47)
- No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept.
- ERROR_REDIR_PAUSED
-
- 72 (0x48)
- The specified printer or disk device has been paused.
- ERROR_FILE_EXISTS
-
- 80 (0x50)
- The file exists.
- ERROR_CANNOT_MAKE
-
- 82 (0x52)
- The directory or file cannot be created.
- ERROR_FAIL_I24
-
- 83 (0x53)
- Fail on INT 24.
- ERROR_OUT_OF_STRUCTURES
-
- 84 (0x54)
- Storage to process this request is not available.
- ERROR_ALREADY_ASSIGNED
-
- 85 (0x55)
- The local device name is already in use.
- ERROR_INVALID_PASSWORD
-
- 86 (0x56)
- The specified network password is not correct.
- ERROR_INVALID_PARAMETER
-
- 87 (0x57)
- The parameter is incorrect.
- ERROR_NET_WRITE_FAULT
-
- 88 (0x58)
- A write fault occurred on the network.
- ERROR_NO_PROC_SLOTS
-
- 89 (0x59)
- The system cannot start another process at this time.
- ERROR_TOO_MANY_SEMAPHORES
-
- 100 (0x64)
- Cannot create another system semaphore.
- ERROR_EXCL_SEM_ALREADY_OWNED
-
- 101 (0x65)
- The exclusive semaphore is owned by another process.
- ERROR_SEM_IS_SET
-
- 102 (0x66)
- The semaphore is set and cannot be closed.
- ERROR_TOO_MANY_SEM_REQUESTS
-
- 103 (0x67)
- The semaphore cannot be set again.
- ERROR_INVALID_AT_INTERRUPT_TIME
-
- 104 (0x68)
- Cannot request exclusive semaphores at interrupt time.
- ERROR_SEM_OWNER_DIED
-
- 105 (0x69)
- The previous ownership of this semaphore has ended.
- ERROR_SEM_USER_LIMIT
-
- 106 (0x6A)
- Insert the diskette for drive %1.
- ERROR_DISK_CHANGE
-
- 107 (0x6B)
- The program stopped because an alternate diskette was not inserted.
- ERROR_DRIVE_LOCKED
-
- 108 (0x6C)
- The disk is in use or locked by another process.
- ERROR_BROKEN_PIPE
-
- 109 (0x6D)
- The pipe has been ended.
- ERROR_OPEN_FAILED
-
- 110 (0x6E)
- The system cannot open the device or file specified.
- ERROR_BUFFER_OVERFLOW
-
- 111 (0x6F)
- The file name is too long.
- ERROR_DISK_FULL
-
- 112 (0x70)
- There is not enough space on the disk.
- ERROR_NO_MORE_SEARCH_HANDLES
-
- 113 (0x71)
- No more internal file identifiers available.
- ERROR_INVALID_TARGET_HANDLE
-
- 114 (0x72)
- The target internal file identifier is incorrect.
- ERROR_INVALID_CATEGORY
-
- 117 (0x75)
- The IOCTL call made by the application program is not correct.
- ERROR_INVALID_VERIFY_SWITCH
-
- 118 (0x76)
- The verify-on-write switch parameter value is not correct.
- ERROR_BAD_DRIVER_LEVEL
-
- 119 (0x77)
- The system does not support the command requested.
- ERROR_CALL_NOT_IMPLEMENTED
-
- 120 (0x78)
- This function is not supported on this system.
- ERROR_SEM_TIMEOUT
-
- 121 (0x79)
- The semaphore timeout period has expired.
- ERROR_INSUFFICIENT_BUFFER
-
- 122 (0x7A)
- The data area passed to a system call is too small.
- ERROR_INVALID_NAME
-
- 123 (0x7B)
- The filename, directory name, or volume label syntax is incorrect.
- ERROR_INVALID_LEVEL
-
- 124 (0x7C)
- The system call level is not correct.
- ERROR_NO_VOLUME_LABEL
-
- 125 (0x7D)
- The disk has no volume label.
- ERROR_MOD_NOT_FOUND
-
- 126 (0x7E)
- The specified module could not be found.
- ERROR_PROC_NOT_FOUND
-
- 127 (0x7F)
- The specified procedure could not be found.
- ERROR_WAIT_NO_CHILDREN
-
- 128 (0x80)
- There are no child processes to wait for.
- ERROR_CHILD_NOT_COMPLETE
-
- 129 (0x81)
- The %1 application cannot be run in Win32 mode.
- ERROR_DIRECT_ACCESS_HANDLE
-
- 130 (0x82)
- Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O.
- ERROR_NEGATIVE_SEEK
-
- 131 (0x83)
- An attempt was made to move the file pointer before the beginning of the file.
- ERROR_SEEK_ON_DEVICE
-
- 132 (0x84)
- The file pointer cannot be set on the specified device or file.
- ERROR_IS_JOIN_TARGET
-
- 133 (0x85)
- A JOIN or SUBST command cannot be used for a drive that contains previously joined drives.
- ERROR_IS_JOINED
-
- 134 (0x86)
- An attempt was made to use a JOIN or SUBST command on a drive that has already been joined.
- ERROR_IS_SUBSTED
-
- 135 (0x87)
- An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted.
- ERROR_NOT_JOINED
-
- 136 (0x88)
- The system tried to delete the JOIN of a drive that is not joined.
- ERROR_NOT_SUBSTED
-
- 137 (0x89)
- The system tried to delete the substitution of a drive that is not substituted.
- ERROR_JOIN_TO_JOIN
-
- 138 (0x8A)
- The system tried to join a drive to a directory on a joined drive.
- ERROR_SUBST_TO_SUBST
-
- 139 (0x8B)
- The system tried to substitute a drive to a directory on a substituted drive.
- ERROR_JOIN_TO_SUBST
-
- 140 (0x8C)
- The system tried to join a drive to a directory on a substituted drive.
- ERROR_SUBST_TO_JOIN
-
- 141 (0x8D)
- The system tried to SUBST a drive to a directory on a joined drive.
- ERROR_BUSY_DRIVE
-
- 142 (0x8E)
- The system cannot perform a JOIN or SUBST at this time.
- ERROR_SAME_DRIVE
-
- 143 (0x8F)
- The system cannot join or substitute a drive to or for a directory on the same drive.
- ERROR_DIR_NOT_ROOT
-
- 144 (0x90)
- The directory is not a subdirectory of the root directory.
- ERROR_DIR_NOT_EMPTY
-
- 145 (0x91)
- The directory is not empty.
- ERROR_IS_SUBST_PATH
-
- 146 (0x92)
- The path specified is being used in a substitute.
- ERROR_IS_JOIN_PATH
-
- 147 (0x93)
- Not enough resources are available to process this command.
- ERROR_PATH_BUSY
-
- 148 (0x94)
- The path specified cannot be used at this time.
- ERROR_IS_SUBST_TARGET
-
- 149 (0x95)
- An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute.
- ERROR_SYSTEM_TRACE
-
- 150 (0x96)
- System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed.
- ERROR_INVALID_EVENT_COUNT
-
- 151 (0x97)
- The number of specified semaphore events for DosMuxSemWait is not correct.
- ERROR_TOO_MANY_MUXWAITERS
-
- 152 (0x98)
- DosMuxSemWait did not execute; too many semaphores are already set.
- ERROR_INVALID_LIST_FORMAT
-
- 153 (0x99)
- The DosMuxSemWait list is not correct.
- ERROR_LABEL_TOO_LONG
-
- 154 (0x9A)
- The volume label you entered exceeds the label character limit of the target file system.
- ERROR_TOO_MANY_TCBS
-
- 155 (0x9B)
- Cannot create another thread.
- ERROR_SIGNAL_REFUSED
-
- 156 (0x9C)
- The recipient process has refused the signal.
- ERROR_DISCARDED
-
- 157 (0x9D)
- The segment is already discarded and cannot be locked.
- ERROR_NOT_LOCKED
-
- 158 (0x9E)
- The segment is already unlocked.
- ERROR_BAD_THREADID_ADDR
-
- 159 (0x9F)
- The address for the thread ID is not correct.
- ERROR_BAD_ARGUMENTS
-
- 160 (0xA0)
- One or more arguments are not correct.
- ERROR_BAD_PATHNAME
-
- 161 (0xA1)
- The specified path is invalid.
- ERROR_SIGNAL_PENDING
-
- 162 (0xA2)
- A signal is already pending.
- ERROR_MAX_THRDS_REACHED
-
- 164 (0xA4)
- No more threads can be created in the system.
- ERROR_LOCK_FAILED
-
- 167 (0xA7)
- Unable to lock a region of a file.
- ERROR_BUSY
-
- 170 (0xAA)
- The requested resource is in use.
- ERROR_DEVICE_SUPPORT_IN_PROGRESS
-
- 171 (0xAB)
- Device’s command support detection is in progress.
- ERROR_CANCEL_VIOLATION
-
- 173 (0xAD)
- A lock request was not outstanding for the supplied cancel region.
- ERROR_ATOMIC_LOCKS_NOT_SUPPORTED
-
- 174 (0xAE)
- The file system does not support atomic changes to the lock type.
- ERROR_INVALID_SEGMENT_NUMBER
-
- 180 (0xB4)
- The system detected a segment number that was not correct.
- ERROR_INVALID_ORDINAL
-
- 182 (0xB6)
- The operating system cannot run %1.
- ERROR_ALREADY_EXISTS
-
- 183 (0xB7)
- Cannot create a file when that file already exists.
- ERROR_INVALID_FLAG_NUMBER
-
- 186 (0xBA)
- The flag passed is not correct.
- ERROR_SEM_NOT_FOUND
-
- 187 (0xBB)
- The specified system semaphore name was not found.
- ERROR_INVALID_STARTING_CODESEG
-
- 188 (0xBC)
- The operating system cannot run %1.
- ERROR_INVALID_STACKSEG
-
- 189 (0xBD)
- The operating system cannot run %1.
- ERROR_INVALID_MODULETYPE
-
- 190 (0xBE)
- The operating system cannot run %1.
- ERROR_INVALID_EXE_SIGNATURE
-
- 191 (0xBF)
- Cannot run %1 in Win32 mode.
- ERROR_EXE_MARKED_INVALID
-
- 192 (0xC0)
- The operating system cannot run %1.
- ERROR_BAD_EXE_FORMAT
-
- 193 (0xC1)
- %1 is not a valid Win32 application.
- ERROR_ITERATED_DATA_EXCEEDS_64k
-
- 194 (0xC2)
- The operating system cannot run %1.
- ERROR_INVALID_MINALLOCSIZE
-
- 195 (0xC3)
- The operating system cannot run %1.
- ERROR_DYNLINK_FROM_INVALID_RING
-
- 196 (0xC4)
- The operating system cannot run this application program.
- ERROR_IOPL_NOT_ENABLED
-
- 197 (0xC5)
- The operating system is not presently configured to run this application.
- ERROR_INVALID_SEGDPL
-
- 198 (0xC6)
- The operating system cannot run %1.
- ERROR_AUTODATASEG_EXCEEDS_64k
-
- 199 (0xC7)
- The operating system cannot run this application program.
- ERROR_RING2SEG_MUST_BE_MOVABLE
-
- 200 (0xC8)
- The code segment cannot be greater than or equal to 64K.
- ERROR_RELOC_CHAIN_XEEDS_SEGLIM
-
- 201 (0xC9)
- The operating system cannot run %1.
- ERROR_INFLOOP_IN_RELOC_CHAIN
-
- 202 (0xCA)
- The operating system cannot run %1.
- ERROR_ENVVAR_NOT_FOUND
-
- 203 (0xCB)
- The system could not find the environment option that was entered.
- ERROR_NO_SIGNAL_SENT
-
- 205 (0xCD)
- No process in the command subtree has a signal handler.
- ERROR_FILENAME_EXCED_RANGE
-
- 206 (0xCE)
- The filename or extension is too long.
- ERROR_RING2_STACK_IN_USE
-
- 207 (0xCF)
- The ring 2 stack is in use.
- ERROR_META_EXPANSION_TOO_LONG
-
- 208 (0xD0)
- The global filename characters, * or ?, are entered incorrectly or too many global filename characters are specified.
- ERROR_INVALID_SIGNAL_NUMBER
-
- 209 (0xD1)
- The signal being posted is not correct.
- ERROR_THREAD_1_INACTIVE
-
- 210 (0xD2)
- The signal handler cannot be set.
- ERROR_LOCKED
-
- 212 (0xD4)
- The segment is locked and cannot be reallocated.
- ERROR_TOO_MANY_MODULES
-
- 214 (0xD6)
- Too many dynamic-link modules are attached to this program or dynamic-link module.
- ERROR_NESTING_NOT_ALLOWED
-
- 215 (0xD7)
- Cannot nest calls to LoadModule.
- ERROR_EXE_MACHINE_TYPE_MISMATCH
-
- 216 (0xD8)
- This version of %1 is not compatible with the version of Windows you’re running. Check your computer’s system information and then contact the software publisher.
- ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY
-
- 217 (0xD9)
- The image file %1 is signed, unable to modify.
- ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY
-
- 218 (0xDA)
- The image file %1 is strong signed, unable to modify.
- ERROR_FILE_CHECKED_OUT
-
- 220 (0xDC)
- This file is checked out or locked for editing by another user.
- ERROR_CHECKOUT_REQUIRED
-
- 221 (0xDD)
- The file must be checked out before saving changes.
- ERROR_BAD_FILE_TYPE
-
- 222 (0xDE)
- The file type being saved or retrieved has been blocked.
- ERROR_FILE_TOO_LARGE
-
- 223 (0xDF)
- The file size exceeds the limit allowed and cannot be saved.
- ERROR_FORMS_AUTH_REQUIRED
-
- 224 (0xE0)
- Access Denied. Before opening files in this location, you must first add the web site to your trusted sites list, browse to the web site, and select the option to login automatically.
- ERROR_VIRUS_INFECTED
-
- 225 (0xE1)
- Operation did not complete successfully because the file contains a virus or potentially unwanted software.
- ERROR_VIRUS_DELETED
-
- 226 (0xE2)
- This file contains a virus or potentially unwanted software and cannot be opened. Due to the nature of this virus or potentially unwanted software, the file has been removed from this location.
- ERROR_PIPE_LOCAL
-
- 229 (0xE5)
- The pipe is local.
- ERROR_BAD_PIPE
-
- 230 (0xE6)
- The pipe state is invalid.
- ERROR_PIPE_BUSY
-
- 231 (0xE7)
- All pipe instances are busy.
- ERROR_NO_DATA
-
- 232 (0xE8)
- The pipe is being closed.
- ERROR_PIPE_NOT_CONNECTED
-
- 233 (0xE9)
- No process is on the other end of the pipe.
- ERROR_MORE_DATA
-
- 234 (0xEA)
- More data is available.
- ERROR_VC_DISCONNECTED
-
- 240 (0xF0)
- The session was canceled.
- ERROR_INVALID_EA_NAME
-
- 254 (0xFE)
- The specified extended attribute name was invalid.
- ERROR_EA_LIST_INCONSISTENT
-
- 255 (0xFF)
- The extended attributes are inconsistent.
- WAIT_TIMEOUT
-
- 258 (0x102)
- The wait operation timed out.
- ERROR_NO_MORE_ITEMS
-
- 259 (0x103)
- No more data is available.
- ERROR_CANNOT_COPY
-
- 266 (0x10A)
- The copy functions cannot be used.
- ERROR_DIRECTORY
-
- 267 (0x10B)
- The directory name is invalid.
- ERROR_EAS_DIDNT_FIT
-
- 275 (0x113)
- The extended attributes did not fit in the buffer.
- ERROR_EA_FILE_CORRUPT
-
- 276 (0x114)
- The extended attribute file on the mounted file system is corrupt.
- ERROR_EA_TABLE_FULL
-
- 277 (0x115)
- The extended attribute table file is full.
- ERROR_INVALID_EA_HANDLE
-
- 278 (0x116)
- The specified extended attribute handle is invalid.
- ERROR_EAS_NOT_SUPPORTED
-
- 282 (0x11A)
- The mounted file system does not support extended attributes.
- ERROR_NOT_OWNER
-
- 288 (0x120)
- Attempt to release mutex not owned by caller.
- ERROR_TOO_MANY_POSTS
-
- 298 (0x12A)
- Too many posts were made to a semaphore.
- ERROR_PARTIAL_COPY
-
- 299 (0x12B)
- Only part of a ReadProcessMemory or WriteProcessMemory request was completed.
- ERROR_OPLOCK_NOT_GRANTED
-
- 300 (0x12C)
- The oplock request is denied.
- ERROR_INVALID_OPLOCK_PROTOCOL
-
- 301 (0x12D)
- An invalid oplock acknowledgment was received by the system.
- ERROR_DISK_TOO_FRAGMENTED
-
- 302 (0x12E)
- The volume is too fragmented to complete this operation.
- ERROR_DELETE_PENDING
-
- 303 (0x12F)
- The file cannot be opened because it is in the process of being deleted.
- ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING
-
- 304 (0x130)
- Short name settings may not be changed on this volume due to the global registry setting.
- ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME
-
- 305 (0x131)
- Short names are not enabled on this volume.
- ERROR_SECURITY_STREAM_IS_INCONSISTENT
-
- 306 (0x132)
- The security stream for the given volume is in an inconsistent state. Please run CHKDSK on the volume.
- ERROR_INVALID_LOCK_RANGE
-
- 307 (0x133)
- A requested file lock operation cannot be processed due to an invalid byte range.
- ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT
-
- 308 (0x134)
- The subsystem needed to support the image type is not present.
- ERROR_NOTIFICATION_GUID_ALREADY_DEFINED
-
- 309 (0x135)
- The specified file already has a notification GUID associated with it.
- ERROR_INVALID_EXCEPTION_HANDLER
-
- 310 (0x136)
- An invalid exception handler routine has been detected.
- ERROR_DUPLICATE_PRIVILEGES
-
- 311 (0x137)
- Duplicate privileges were specified for the token.
- ERROR_NO_RANGES_PROCESSED
-
- 312 (0x138)
- No ranges for the specified operation were able to be processed.
- ERROR_NOT_ALLOWED_ON_SYSTEM_FILE
-
- 313 (0x139)
- Operation is not allowed on a file system internal file.
- ERROR_DISK_RESOURCES_EXHAUSTED
-
- 314 (0x13A)
- The physical resources of this disk have been exhausted.
- ERROR_INVALID_TOKEN
-
- 315 (0x13B)
- The token representing the data is invalid.
- ERROR_DEVICE_FEATURE_NOT_SUPPORTED
-
- 316 (0x13C)
- The device does not support the command feature.
- ERROR_MR_MID_NOT_FOUND
-
- 317 (0x13D)
- The system cannot find message text for message number 0x%1 in the message file for %2.
- ERROR_SCOPE_NOT_FOUND
-
- 318 (0x13E)
- The scope specified was not found.
- ERROR_UNDEFINED_SCOPE
-
- 319 (0x13F)
- The Central Access Policy specified is not defined on the target machine.
- ERROR_INVALID_CAP
-
- 320 (0x140)
- The Central Access Policy obtained from Active Directory is invalid.
- ERROR_DEVICE_UNREACHABLE
-
- 321 (0x141)
- The device is unreachable.
- ERROR_DEVICE_NO_RESOURCES
-
- 322 (0x142)
- The target device has insufficient resources to complete the operation.
- ERROR_DATA_CHECKSUM_ERROR
-
- 323 (0x143)
- A data integrity checksum error occurred. Data in the file stream is corrupt.
- ERROR_INTERMIXED_KERNEL_EA_OPERATION
-
- 324 (0x144)
- An attempt was made to modify both a KERNEL and normal Extended Attribute (EA) in the same operation.
- ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED
-
- 326 (0x146)
- Device does not support file-level TRIM.
- ERROR_OFFSET_ALIGNMENT_VIOLATION
-
- 327 (0x147)
- The command specified a data offset that does not align to the device’s granularity/alignment.
- ERROR_INVALID_FIELD_IN_PARAMETER_LIST
-
- 328 (0x148)
- The command specified an invalid field in its parameter list.
- ERROR_OPERATION_IN_PROGRESS
-
- 329 (0x149)
- An operation is currently in progress with the device.
- ERROR_BAD_DEVICE_PATH
-
- 330 (0x14A)
- An attempt was made to send down the command via an invalid path to the target device.
- ERROR_TOO_MANY_DESCRIPTORS
-
- 331 (0x14B)
- The command specified a number of descriptors that exceeded the maximum supported by the device.
- ERROR_SCRUB_DATA_DISABLED
-
- 332 (0x14C)
- Scrub is disabled on the specified file.
- ERROR_NOT_REDUNDANT_STORAGE
-
- 333 (0x14D)
- The storage device does not provide redundancy.
- ERROR_RESIDENT_FILE_NOT_SUPPORTED
-
- 334 (0x14E)
- An operation is not supported on a resident file.
- ERROR_COMPRESSED_FILE_NOT_SUPPORTED
-
- 335 (0x14F)
- An operation is not supported on a compressed file.
- ERROR_DIRECTORY_NOT_SUPPORTED
-
- 336 (0x150)
- An operation is not supported on a directory.
- ERROR_NOT_READ_FROM_COPY
-
- 337 (0x151)
- The specified copy of the requested data could not be read.
- ERROR_FAIL_NOACTION_REBOOT
-
- 350 (0x15E)
- No action was taken as a system reboot is required.
- ERROR_FAIL_SHUTDOWN
-
- 351 (0x15F)
- The shutdown operation failed.
- ERROR_FAIL_RESTART
-
- 352 (0x160)
- The restart operation failed.
- ERROR_MAX_SESSIONS_REACHED
-
- 353 (0x161)
- The maximum number of sessions has been reached.
- ERROR_THREAD_MODE_ALREADY_BACKGROUND
-
- 400 (0x190)
- The thread is already in background processing mode.
- ERROR_THREAD_MODE_NOT_BACKGROUND
-
- 401 (0x191)
- The thread is not in background processing mode.
- ERROR_PROCESS_MODE_ALREADY_BACKGROUND
-
- 402 (0x192)
- The process is already in background processing mode.
- ERROR_PROCESS_MODE_NOT_BACKGROUND
-
- 403 (0x193)
- The process is not in background processing mode.
- ERROR_INVALID_ADDRESS
-
- 487 (0x1E7)
- Attempt to access invalid address.
Пользователи интернета и владельцы сайтов периодически сталкиваются с различными ошибками на веб-страницах. Одной из самых распространенных ошибок является error 500 (ошибка 500). Поговорим в нашей статье о том, что это за ошибка и как ее исправить.
Где и когда можно встретить ошибку 500
Вы можете увидеть ошибку на любом веб-ресурсе, браузере и устройстве. Она не связана с отсутствием интернет-соединения, устаревшей версией операционной системы или браузера. Кроме того, эта ошибка не указывает на то, что сайта не существует или он больше не работает.
Ошибка 500 говорит о том, что сервер не может обработать запрос к сайту, на странице которого вы находитесь. При этом браузер не может точно сообщить, что именно пошло не так.
Отображаться ошибка может по-разному. Вот пример:
Если вы решили купить что-то в любимом интернет-магазине, но увидели на сайте ошибку 500, не стоит сильно огорчаться – она лишь сообщает о том, что вам нужно подождать, пока она будет исправлена.
Если ошибка появилась на вашем сайте, то нужно скорее ее исправлять. Далее я расскажу, как это можно сделать.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Причины возникновения ошибки
Итак, ошибка 500 возникает, когда серверу не удается обработать запрос к сайту. Из-за этого пользователи не могут попасть на сайт, а поисковые системы полноценно с ним работать. Очевидно, что ошибка нуждается в исправлении. В первую очередь необходимо найти проблему.
Основной причиной ошибки 500 может быть:
- Неверный синтаксис файла .htaccess. htaccess – это файл, в котором можно задавать настройки для работы с веб-сервером Apache и вносить изменения в работу сайта (управлять различными перенаправлениями, правами доступа к файлам, опциями PHP, задавать собственные страницы ошибок и т.д.).
Узнать больше о файле .htaccess можно в статье «Создание и настройка .htaccess». - Ошибки в скриптах сайта, то есть сценариях, созданных для автоматического выполнения задач или для расширения функционала сайта.
- Нехватка оперативной памяти при выполнении скрипта.
- Ошибки в коде CMS, системы управления содержимым сайта. В 80% случаев виноваты конфликтующие плагины.
Год хостинга в подарок при заказе лицензии 1С-Битрикс
Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой.
Заказать
Как получить больше данных о причине ошибки
Что означает ошибка 500, мы теперь знаем. Когда она перестала быть таким загадочным персонажем, не страшно копнуть глубже — научиться определять причину ошибки. В некоторых случаях это можно сделать самостоятельно, так что обращаться за помощью к профильному специалисту не понадобится.
Отображение ошибки бывает разным. Ее внешний облик зависит от того, чем она вызвана.
Самые частые причины ошибки 500 можно распознать по тексту ошибки или внешнему виду страницы.
- Сообщение Internal Server Error говорит о том, что есть проблемы с файлом .htaccess (например, виновата некорректная настройка файла). Убедиться, что .htaccess является корнем проблемы, поможет следующий прием: переименуйте файл .htaccess, добавив единицу в конце названия. Это можно сделать с помощью FTP-клиента (например, FileZilla) или файлового менеджера на вашем хостинге (в Timeweb такой есть, с ним довольно удобно работать). После изменения проверьте доступность сайта. Если ошибка больше не наблюдается, вы нашли причину.
- Сообщение HTTP ERROR 500 или пустая страница говорит о проблемах со скриптами сайта. В случае с пустой страницей стоит учесть, что отсутствие содержимого сайта не всегда указывает на внутреннюю ошибку сервера 500.
Давайте узнаем, что скрывается за пустой страницей, обратившись к инструментам разработчика. Эта браузерная панель позволяет получить информацию об ошибках и другие данные (время загрузки страницы, html-элементы и т.д.).
Как открыть панель разработчика
- Нажмите клавишу F12 (способ актуален для большинства браузеров на Windows). Используйте сочетание клавиш Cmd+Opt+J, если используете Google Chrome на macOS. Или примените комбинацию Cmd+Opt+C в случае Safari на macOS (но перед этим включите «Меню разработки» в разделе «Настройки» -> «Продвинутые»). Открыть инструменты разработчика также можно, если кликнуть правой кнопкой мыши в любом месте веб-страницы и выбрать «Просмотреть код» в контекстном меню.
- Откройте вкладку «Сеть» (или «Network») и взгляните на число в поле «Статус». Код ответа об ошибке 500 — это соответствующая цифра.
Более детальную диагностику можно провести с помощью логов.
Простыми словами: лог — это журнал, в который записывается информация об ошибках, запросах к серверу, подключениях к серверу, действиях с файлами и т.д.
Как вы видите, данных в логи записывается немало, поэтому они разделены по типам. За сведениями о нашей ошибке можно обратиться к логам ошибок (error_log). Обычно такие логи предоставляет служба поддержки хостинга, на котором размещен сайт. В Timeweb вы можете включить ведение логов и заказать необходимые данные в панели управления. Разобраться в полученных логах поможет статья «Чтение логов».
Как устранить ошибку
Теперь поговорим о том, как исправить ошибку 500. Вернемся к популярным причинам этой проблемы и рассмотрим наиболее эффективные способы решения.
Ошибки в файле .htaccess
У этого файла довольно строгий синтаксис, поэтому неверно написанные директивы (команды) могут привести к ошибке. Попробуйте поочередно удалить команды, добавленные последними, и проверьте работу сайта.
Также найти проблемную директиву можно с помощью логов ошибок (через те же инструменты разработчика в браузере). На ошибку в директиве обычно указывает фраза «Invalid command». Информацию о верном написании директивы или способе исправления ошибок в .htaccess вы можете найти в интернете. Не нужно искать, почему сервер выдает ошибку 500, просто введите в строку поиска название нужной команды или текст ошибки из логов.
Ошибки в скриптах сайта
Скрипт не запускается
Обычно это происходит, когда существует ошибка в скрипте или функция, которая не выполняется. Для успешного запуска скрипта функция должна быть верно прописана, поддерживаться сервером и выполняться от используемой версии PHP. Бывают ситуации, когда функция несовместима с определенными версиями PHP. Получить более подробную информацию о той или иной функции можно в интернете.
Не хватает оперативной памяти
Если в логах вы видите ошибку «Allowed memory size», для устранения ошибки 500 стоит оптимизировать работу скрипта. Вы можете воспользоваться специальными расширениями для анализа производительности скрипта или обратиться за помощью к специалисту, который поработает над его оптимизацией.
Если ваш сайт размещен на отдельном физическом или виртуальном сервере, можно попробовать увеличить максимальное использование оперативной памяти на процесс (memory_limit). На шаред хостинге этот параметр обычно не изменяется, но есть возможность купить хостинг помощнее.
Ошибки в CMS
Если код CMS содержит неверный синтаксис, это может вывести сайт из строя. В таком случае логи сообщат вам об ошибке 500 текстом «PHP Parse error: syntax error, unexpected». Так происходит, когда некорректно работает плагин (или тема, используемая в CMS, но реже) либо есть ошибки в коде. Ошибка может быть допущена случайно, произойти при обновлении плагина или версии CMS.
При чтении логов обратите внимание на путь, который следует за сообщением об ошибке, ведь он может указать на проблемную часть кода или плагин. Если проблема в плагине, для восстановления работы сайта переименуйте на время папку, в которой он расположен. Попробуйте обновить плагин или откатить его до прежней версии. Если ситуацию не удается исправить, от расширения стоит отказаться либо заменить его аналогом.
Также в большинстве случаев подобные проблемы помогает решить поддержка CMS.
Информацию о других распространенных ошибках вы можете найти в статье «6 наиболее часто возникающих ошибок HTTP и способы их устранения».
Удачи!
Contents
- 1 Description
- 2 How to get the syscon error log
- 3 Error log format
- 4 Error code format
- 5 Error codes
- 5.1 System Errors
- 5.1.1 1001 (Power CELL)
- 5.1.2 1002 (Power RSX)
- 5.1.3 1004 (Power AC/DC)
- 5.1.4 1103 (Thermal Alert SYSTEM)
- 5.1.5 1200 (Thermal CELL)
- 5.1.6 1201 (Thermal RSX)
- 5.1.7 1203 (Thermal CELL VR)
- 5.1.8 1204 (Thermal South Bridge)
- 5.1.9 1205 (Thermal EE/GS)
- 5.1.10 1301 (CELL PLL Unlock)
- 5.1.11 14FF (Check Stop)
- 5.1.12 1601 (CELL Livelock Detection)
- 5.1.13 1701 (CELL BE ATTENTION)
- 5.1.14 1802 (RSX Initialization)
- 5.1.15 1900 (RTC Voltage)
- 5.1.16 1901 (RTC Oscilator)
- 5.1.17 1902 (RTC Access)
- 5.2 Fatal Errors
- 5.2.1 2001 (CELL)
- 5.2.2 2002 (RSX)
- 5.2.3 2003 (South Bridge)
- 5.2.4 2010 (Clock Subsystems)
- 5.2.5 2011 (Clock CELL)
- 5.2.6 2012 (Clock CELL)
- 5.2.7 2013 (Clock CELL, RSX, South Bridge)
- 5.2.8 2020 (HDMI)
- 5.2.9 2022 (DVE)
- 5.2.10 2024 (AV)
- 5.2.11 2030 (Thermal Sensor, CELL)
- 5.2.12 2031 (Thermal Sensor, RSX)
- 5.2.13 2033 (Thermal Sensor, South Bridge)
- 5.2.14 2101 (CELL)
- 5.2.15 2102 (RSX)
- 5.2.16 2103 (South Bridge)
- 5.2.17 2110 (Clock Subsystems)
- 5.2.18 2111 (Clock CELL)
- 5.2.19 2112 (Clock CELL)
- 5.2.20 2113 (Clock CELL, RSX, South Bridge)
- 5.2.21 2120 (HDMI)
- 5.2.22 2122 (DVE)
- 5.2.23 2124 (AV)
- 5.2.24 2130 (Thermal Sensor, CELL)
- 5.2.25 2131 (Thermal Sensor, RSX)
- 5.2.26 2133 (Thermal Sensor, South Bridge)
- 5.2.27 2203 (South Bridge)
- 5.2.28 2310
- 5.3 Fatal Boot Errors
- 5.3.1 3000
- 5.3.2 3001
- 5.3.3 3002
- 5.3.4 3003 (CELL Core Power Failure)
- 5.3.5 3004 (RSX Core Power Failure)
- 5.3.6 3010
- 5.3.7 3011
- 5.3.8 3012
- 5.3.9 3013
- 5.3.10 3020
- 5.3.11 3030
- 5.3.12 3031
- 5.3.13 3032
- 5.3.14 3033
- 5.3.15 3034
- 5.3.16 3035
- 5.3.17 3036
- 5.3.18 3037
- 5.3.19 3038
- 5.3.20 3039
- 5.3.21 3040
- 5.4 Data Errors
- 5.4.1 4001
- 5.4.2 4002
- 5.4.3 4003
- 5.4.4 4011
- 5.4.5 4101
- 5.4.6 4102
- 5.4.7 4103
- 5.4.8 4111
- 5.4.9 4201
- 5.4.10 4202
- 5.4.11 4203
- 5.4.12 4211
- 5.4.13 4212
- 5.4.14 4221
- 5.4.15 4222
- 5.4.16 4231
- 5.4.17 4261
- 5.4.18 4301
- 5.4.19 4302
- 5.4.20 4303
- 5.4.21 4311
- 5.4.22 4312
- 5.4.23 4321
- 5.4.24 4322
- 5.4.25 4332
- 5.4.26 4341
- 5.4.27 4401
- 5.4.28 4402
- 5.4.29 4403
- 5.4.30 4411
- 5.4.31 4412
- 5.4.32 4421
- 5.4.33 4422
- 5.4.34 4432
- 5.4.35 4441
- 5.1 System Errors
Description[edit]
Syscon memory contains a table of size 0x100 bytes intended to store error codes, every error code is composed by 4 bytes + another 4 bytes for its timestamp, in total the table can store 32 errors. When the table is full of errors and a new error needs to be stored syscon deletes the oldest
How to get the syscon error log[edit]
If the PS3 still boots up to the XMB and is able to install and run apps you can use programs like the ones mentioned at top of Platform ID page
If the PS3 doesnt boots is still posible to retrieve the syscon error log by connecting a PC to syscon UART port using a «USB to TTL UART adapter» and running the command errlog. There is also the command clearerrlog to empty the error table (handy to prevent confusions with old error codes that could be cummulated along the months/years and not related with the actual problem)
Error log format[edit]
There are 2 error log formats that depends of the syscon type: for Mullion, or for Sherwood
The error codes and the timestamps are stored in little endian (right to left)
The timestamps are in J2000 format (number of elapsed seconds since 2000/1/1 12:00:00). It can be converted as an standared unix epoch and then summed 30 years — 12 hours (or 946684800 seconds). See 1
If the battery was empty or removed when the error was triggered the timestamp is recorded as FFFFFFFF
If the battery is replaced but the time is not configured under GameOS (either manualy or by network) it seems the errorlog stores timestamps starting with a date around 2005/12/31 00:00:00 (0x0B488680)
More info about errorlog timestamp formats and loops in the Talk page
- Unix epoch starts counting at 1970/1/1 00:00:00
- J2000 epoch starts counting at 2000/1/1 12:00:00
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00003700 01 10 80 A0 01 10 80 A0 01 10 80 A0 01 10 80 A0 00003710 01 10 80 A0 01 10 80 A0 04 10 80 A0 01 10 80 A0 00003720 01 10 80 A0 01 10 80 A0 01 10 80 A0 01 10 80 A0 00003730 01 10 80 A0 04 10 80 A0 01 10 80 A0 01 10 80 A0 00003740 01 10 80 A0 01 10 80 A0 01 10 80 A0 01 10 80 A0 00003750 01 10 80 A0 01 10 80 A0 04 30 09 A0 04 30 09 A0 00003760 04 30 09 A0 04 30 09 A0 FF FF FF FF 01 10 80 A0 00003770 01 10 80 A0 01 10 80 A0 01 10 80 A0 01 10 80 A0 00003780 20 CF 6D 16 13 23 A7 16 3E D6 D9 16 87 13 2A 17 00003790 17 3C 7C 17 E4 A2 A3 17 A2 15 D4 17 13 FB EB 17 000037A0 CD 7D EF 17 33 85 EF 17 12 8C EF 17 A7 D9 FB 17 000037B0 58 5E 0E 18 BB C9 66 18 CD 25 B5 18 49 C4 29 19 000037C0 75 D5 F9 19 04 8B 61 1B 17 67 D0 22 2D 67 D0 22 000037D0 03 07 6C 27 12 09 6C 27 FF FF FF FF FF FF FF FF 000037E0 FF FF FF FF FF FF FF FF F0 E7 27 16 06 BD 33 16 000037F0 E5 DE 38 16 DD D4 5C 16 C4 AC 6C 16 EA C7 6D 16
- In the errorlog sample above:
- Errorlog looped at least 1 time (1 errorcode FFFFFFFF)
- Timestamps are valid, and the time was configured
- Contains errors: A080 1 001 , A080 1 004 , A009 3 004
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00003700 22 43 40 A0 34 30 40 A0 22 43 40 A0 34 30 40 A0 00003710 22 43 40 A0 34 30 40 A0 FF FF FF FF 34 30 40 A0 00003720 22 43 40 A0 34 30 40 A0 22 43 40 A0 34 30 40 A0 00003730 22 43 40 A0 34 30 40 A0 22 43 40 A0 34 30 40 A0 00003740 22 43 40 A0 34 30 40 A0 22 43 40 A0 34 30 40 A0 00003750 22 43 40 A0 34 30 40 A0 22 43 40 A0 34 30 40 A0 00003760 22 43 40 A0 34 30 40 A0 22 43 40 A0 34 30 40 A0 00003770 22 43 40 A0 34 30 40 A0 22 43 40 A0 34 30 40 A0 00003780 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00003790 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000037A0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000037B0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000037C0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000037D0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000037E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000037F0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
- In the errorlog sample above:
- Errorlog looped at least 1 time (1 errorcode FFFFFFFF)
- Timestamps are invalid
- Contains errors: A040 4 322 , A040 3 034
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000900 31 21 80 A0 73 D4 50 0B 30 20 40 A0 89 D4 50 0B 00000910 31 21 80 A0 8C D4 50 0B 30 20 80 A0 8E D4 50 0B 00000920 30 21 80 A0 8E D4 50 0B 31 21 80 A0 8F D4 50 0B 00000930 01 30 00 A0 FF FF FF FF FF FF FF FF FF FF FF FF 00000940 30 20 80 A0 75 D1 50 0B 30 20 80 A0 78 D1 50 0B 00000950 30 20 80 A0 B2 D1 50 0B 31 20 80 A0 B3 D1 50 0B 00000960 30 21 80 A0 BD D1 50 0B 30 21 80 A0 D5 D1 50 0B 00000970 30 21 80 A0 DF D1 50 0B 30 20 80 A0 E0 D1 50 0B 00000980 31 21 80 A0 84 D2 50 0B 30 21 80 A0 DC D2 50 0B 00000990 31 21 32 A0 4F D3 50 0B 31 20 40 A0 50 D3 50 0B 000009A0 31 21 80 A0 51 D3 50 0B 30 21 80 A0 57 D3 50 0B 000009B0 31 21 80 A0 59 D3 50 0B 31 21 80 A0 FF D3 50 0B 000009C0 31 21 80 A0 05 D4 50 0B 30 20 80 A0 06 D4 50 0B 000009D0 30 20 80 A0 07 D4 50 0B 31 21 80 A0 2D D4 50 0B 000009E0 31 20 80 A0 3A D4 50 0B 30 21 80 A0 42 D4 50 0B 000009F0 30 21 80 A0 72 D4 50 0B 31 21 80 A0 72 D4 50 0B
- In the errorlog sample above:
- Errorlog looped at least 1 time (1 errorcode FFFFFFFF)
- Timestamps are valid, but the time was not configured
- Contains errors: A080 2 131 , A040 2 030 , A080 2 030
A080 2 130 , A000 3 001 , A080 2 031
A032 2 131 , A040 2 031
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000900 02 18 61 A0 FF FF FF FF 02 18 61 A0 FF FF FF FF 00000910 02 18 61 A0 FF FF FF FF 02 18 61 A0 FF FF FF FF 00000920 02 18 61 A0 FF FF FF FF 02 18 61 A0 FF FF FF FF 00000930 02 18 61 A0 FF FF FF FF 02 18 61 A0 FF FF FF FF 00000940 02 18 61 A0 FF FF FF FF 02 18 61 A0 FF FF FF FF 00000950 02 18 61 A0 FF FF FF FF 02 18 61 A0 FF FF FF FF 00000960 02 18 61 A0 FF FF FF FF 02 40 40 A0 FF FF FF FF 00000970 34 30 40 A0 FF FF FF FF 02 40 40 A0 FF FF FF FF 00000980 34 30 40 A0 FF FF FF FF 02 40 40 A0 FF FF FF FF 00000990 34 30 40 A0 FF FF FF FF 02 40 40 A0 FF FF FF FF 000009A0 34 30 40 A0 FF FF FF FF 02 40 40 A0 FF FF FF FF 000009B0 34 30 40 A0 FF FF FF FF 02 40 40 A0 FF FF FF FF 000009C0 34 30 40 A0 FF FF FF FF FF FF FF FF FF FF FF FF 000009D0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000009E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000009F0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
- In the errorlog sample above:
- Errorlog not looped (more than 1 errorcode FFFFFFFF)
- Timestamps are invalid
- Contains errors: A061 1 802 , A040 4 002 , A040 3 034
Error code format[edit]
The error codes follows the format: A R ST C ERR , where:
A (Fixed)
A = This is always «A»
R (Reserved)
0-E = Unknown
- F = Frequent error (For example, Motherboard Damage/Breakdown, etc.)
ST (Step Number)
00-7F = Step Number of the Power On Sequence (POS). This is the Power On Self Test (POST) process. If successful, the BOOT process begins, which loads the OS.
80 = Static State (Power ON). The console completed the POST and was in a static state. The error happened when the PS3 was powered on. You can get an error with Step No. 80 if your error occurs in game. For example, 80 1002 errors can happen if your NEC/TOKINs are going bad.
90 = Static State (Power OFF). The error happened when the PS3 was powering off. For example, if a problem causes the system to hang while shutting down the console will beep before powering off. An error with step no. 90 will be recorded in the errorlog.
A0 = Immediately after SYSCON reset. When you supply/plug-in power, the PS3 is supposed to enter Standby. A solid red LED will illuminate on early «Phat» models, for example. There is a Standby circuit in the PS3 that constantly needs power, so the PS3 can wait for the user to start the console. Sometimes this is called a Vampire circuit, because it uses power even when you’re not using the console. Many electronics do this to allow you to turn them on remotely. Otherwise, you would need to physically flip a switch to turn them on.
The PS3 reset circuit consists of the SYSCON and it’s Clock generating Crystal, Bluetooth/WIFI Card, Front PWR/EJT and LED panel, and Thermal Monitor ICs. The SYSCON needs to know if you are trying to start the console. Either manually with the PWR button or over Bluetooth using your controller. So those modules need to be powered. It also needs to know that the thermal monitors are functioning properly before it can safely send power to the Southbrige, CPU or GPU. Otherwise, the console would be a fire hazard! Thermal monitors ICs are like the PS3s fire alarms. They are critical safety equipment.
If there is a Hardware issue anywhere in that circuit, you will get an error immediately after SYSCON reset that will prevent you from even attempting to power on the console. The front LED will flash Red Indefinitely as soon as you plug in the console, instead of giving you a solid RED LED. This is how you know you have an error with the standby circuit. And there will be an associated error logged in the syscon that may help you track it down to the specific component.
5v_MISC powers the reset circuit, which are a collection of SMD/SMT components and IC’s that power the above modules. Check the Service manual (If available) for specifics. For example, in the COK-001 service manual you can find the circuit diagram on page 23/45. You can see that IC6005 (a DC/DC converter) is responsible for generating +3.3v_EVER. IC6006 generates +1.8V_EVER, and IC6009 generates +3.3V_THERMAL. These are the main voltages used by the component in the reset circuit, such as the WIFI/Bluetooth card needed to remote start the console by pressing the PS button on the controller.
C (Category)
- 1 = System Error
- 2 = Fatal Error
- 3 = Booting Error
- 4 = Data Error
ERR (Error)
- This is a 3-Digit error code that gives specific information about the issue. For example, System error 002 (1002) means «RSX VRM Failure.»
Discussion
The 3-digit error code can repeat in others Categories, but doesn’t mean the same thing. System error 001 and Fatal error 001 don’t mean the same thing. 1001 is «BE VRM Power Failure» and 2001 is «BE Error.» We wouldn’t be able to tell the difference between them if we just referred to the error. That’s not enough information by itself to understand the problem. The category gives the error context. So we use the 4-Digit code CERR to differentiate them from one another.
Likewise, the Step Nump (ST) provides context to the 4-Digit code. For example, you can have a CELL VRM Power Failure occur while playing an intense game (Static State, Power on). That would generate an 801001 (Step number 80). However, you can also get that error when turning the console on, during Power On Sequence Testing (POST), before it even has a chance to start the bootloader, which loads the OS, which in turn let’s you load the game. This time it might generate error 101001. Step number 10 is lower than Step number 80, telling you this 1001 occurred earlier. The Categoty + Error tells you «What» happened. The Step Number tells you «when» it happened. It’s building context that can help you figure out what is causing the error.
It is important to consider the context of the full errorlog. Not just the 4-digit CERR. The reason is because you are attempting to build the case for «Why» it happened! In the previous example, the A0801001 could mean the NEC/TOKIN Proadlizers (a type of capacitor that is part of the CELL CPU’s VRM, Voltage Regulation Module) may be at fault. The A0101001 can result from other causes simply because there is a larger number of things that can go wrong. It may not be the NEC/TOKINs at all.
All of this means you really need to be familiar with the hardware to make sense of the errors stored in the SYSCON. Unfortunately, there isn’t a single error for every potential issue. For example, there is no error that can tell you that Capacitor C6900 is short. There are a few exceptions, where most of the time a certain code means the same thing. Like a fuse blew and «usually» causes said code. But we cannot rule out the possibility that a cap blowing on the same line could also cause it. However rare as that may be.
Examples:
A0801002
- System Error 002 (RSX VRAM Power Fail) which occurred while the System was successfully powered On.
- 1002 errors are known to be caused by bad NEC/TOKINs, but may not be the only cause. See Error Code section below for more details.
A0403034
- Fatal Booting Error 034 (RSX/CELL Communication Error) which occurred at step no. 40 (BitTraining), before the Power On Sequence completed.
- 3034s are caused by BGA/Bump Defects (among other issues). Experienced PS3 repair technicians have noted that it is almost exclusive to the RSX. While our knowledge of the hardware interface cannot rule out the possibility a CELL BE BGA/Bump defect can cause it, that has been the exception to the rule. Experience and time have shown 3034’s are primarily an RSX issue. A repair technician needs to decide which processor to reball/replace based upon the more likely candidate. They have to use discretion.
- See Error Code section below for more details.
A0213013
- 3013 errors have been caused by Dead CELL BE CPU.
The following Error Code section will only list the last 4 numbers (category + error). However, remember the Reserved Area and Step Number can be useful to figure out «when» the error occurred and how frequent it is. The last four numbers are the most important for figuring out what specific error means, but you still need to figure out what it means in context of your issue. So you can diagnose the error and then fix it.
Error codes[edit]
System Errors[edit]
1001 (Power CELL)[edit]
- Components Involved:
- CELL (IC1001 on COK-001)
- NEC/TOKIN Proadlizers (C6140/C6141/C6142/C6143 on COK-001)
- Other nearby components of the power block
This error is due to insufficient Filtering on the CPU’s core voltage (VDDC) or an unexpected shutdown. There is a range of voltage ripple/noise that cause errors before it gets so bad it causes a CELL VDDC Power Failure (3003). There are numerous SMD components involved in filtering, but the main concern are the NEC/TOKIN Proadlizers (capacitors). 1002 errors are the fingerprint of bad NEC/TOKINs on the GPU, but 1001 is not as easy to diagnose. You need to witness the console YLOD under load and see a new 1001 error was generated by it. Otherwise, the 1001 could simply mean the console wasn’t shut off properly.
1001 errors can be logged naturally when the system encounters an unexpected shutdown or AC power loss. They often occur in testing, when the console is switched on/off a lot, instead of a graceful shutdown. A0801001 errors by themselves cannot be used as evidence of failing NEC/TOKINs. Such errors are commonly found in the log of perfectly working machines, and are nothing to worry about unless the system is shutting itself off unexpectedly.
A common case where 1001 errors can be misinterpreted is a machine that can power ON, but has graphical artifacts or no video (GLOD). In these cases the console must be forced off using the power rocker at the back of the console (in Phat models), or by pulling the power cord (slim & super slim models), which can cause the 1001. This can also cause 1004 errors. These errors can be ignored if they were not generated under normal circumstances. In the case of a console exhibiting artifacts/GLOD, the bigger issue should be addressed first (typically a GPU issue requiring a reball/replacement). Afterwards, if 1001 errors return during stress testing, then you can diagnose the CPU NEC/TOKINs.
Anecdote: One console with bad CPU NEC/TOKINs exhibited an A0901001 only upon shutdown. It was stable in The Last of Us (strenuous game) and did not seem to have the typical behavior associated with bad NEC/TOKINs. However, it hung in shutdown for an extended period of time, finally issuing the YLOD (3-beeps and flashing red). It needed to be reset before it could be powered on again. Replacing the NEC/TOKINs repaired the issue.
1002 (Power RSX)[edit]
- Components Involved:
- RSX (IC2001 on COK-001)
- NEC/TOKIN Proadlizers (C6229/C6230/C6231/C6232 on COK-001)
- Other nearby components of the power block
This error has been associated with insufficient Filtering on RSX_VDDC power line. There is a range of voltage ripple/noise that will cause this error before it gets so bad it causes an RSX_VDDC Power Failure (3004). YLOD’s causing 1002’s range in duration from 2 seconds to only occurring during intense games.
There are numerous SMD components involved in filtering, but the main concern are the NEC/TOKIN Proadlizers (capacitors). 1002 errors are the fingerprint of bad tokins.
1004 (Power AC/DC)[edit]
- Components Involved:
- Power Supply
When a console looses AC power, error A0801004 may be generated. A common case where 1004 errors occur is a machine that can power ON, but has graphical artifacts or no video (GLOD). In these cases the console must be forced off using the power rocker at the back of the console (in Phat models), or by pulling the power cord (slim & super slim models). Doing this causes a loss of AC, which can cause the error.
This error can be ignored if it wasn’t generated under normal circumstances. Such as a power outtage or accidental unplugging. Since it didn’t result from a hardware fault, it’s not serious. In the case of a console exhibiting artifacts/GLOD, the bigger issue should be addressed first (typically a GPU issue requiring a reball/replacement). Afterwards, if 1004 errors return, then you can should diagnose the AC/DC line. PSU and it’s connection upto the DC-DC converters.
1103 (Thermal Alert SYSTEM)[edit]
- Components Involved:
- CELL
- CELL temperature monitor (only in mullion syscons, the CELL temperature monitor for PS3 slims and superslims cant send this error code)
Syscon have a pad/pin dedicated to this signal, the reason it was given an official generic name (not indicating what triggers it) is because this signal can be sent by several components. In the first PS3 models (with mullion syscon?) it can be sent by CELL, or the CELL temperature monitor, using the official function names SYS_THR_ALRT or THERMAL_OVERLOAD
But this electrical design is not specific for the PS3, there could be other devices based on the IBM CELL, and developed by SONY, where this error code is sent by other components, which could have more than one CELL… so in general we could say this error code indicates one (or more) of the CELL processors (or his temperature monitor chips) is overheating.
At least 3 consoles that had CPU trace damage resulting from failed IHS delid attempts exhibited A0801103 and A0902203 errors.
1200 (Thermal CELL)[edit]
- Components Involved:
- CELL
CPU Overheat. This is a common error. The usual culprit is failed Thermal Interface Material (TIM). As the material ages it «dries» allowing air inside. Air is a heat insulator, reducing the TIM’s ability to transfer enough heat away from the processor. The system fan will steadily get louder over time until it cannot keep up. Once the processor approaches it’s Thermal Shutdown Temperature a Yellow LED begins flashing on the console (Early Phat Models). Once it reaches the Thermal Shutdown Temperature the console will beep three times and hard shutdown, flashing red until the console is unplugged and the error state reset. Error 1200 is generated in the SYSCON errorlog.
First be sure the system fan is working. If so, apply new TIM Between the Internal Heat Spreader (IHS) and Heatsink (HS). If that does not resolve the problem, carefully remove the IHS (Delid) and replace the TIM between the IHS and processor DIE.
If that still doesn’t work, it could be an issue with the temperature monitor chip (IC1101). Beyond that, some users have noted that dead CPU’s can throw error 1200. However, that’s the limit of our current understanding. It could be dead, or have another unexplained issue, but usually reflowing or reballing is the last ditch effort to revive such a console.
1201 (Thermal RSX)[edit]
- Components Involved:
- RSX
GPU Overheat. This is the same as error 1200 above, except it’s for the GPU. The same repair steps apply, except it’s Temperature Monitor Chip is IC2101. This error is rare. Out of hundreds of consoles and years of user reports this error has only occurred when the user forgot to replace the RSX heatsink when testing the console. It has not been reported under normal circumstances. The RSX tends to fail long before the TIM degrades to the point thermal shutdown is reached.
1203 (Thermal CELL VR)[edit]
- Components Involved:
- CELL voltage regulators
- Temperature Monitors
Some PS3 motherboards (TMU-520, COK-001, COK-002), have a temperature monitor located somewhere in the CELL power block. The other retail PS3 motherboard models doesnt meassures the temperature of the CELL VR
All the PS3 temperature monitor chips have a internal thermal sensor integrated + 2 pins for an optional external sensor. The temperature monitors for CELL and RSX are configured to use the external sensor, but this one for CELL VR probably uses the internal
1204 (Thermal South Bridge)[edit]
- Components Involved:
- South Bridge
1205 (Thermal EE/GS)[edit]
- Components Involved:
- CXD2953AGB or CXD2972GB
- See also: Emotion Engine / Graphics Synthesizer
This error is specific for COK-001/CXD2953AGB (with full PS2 hardware compatibility, EE+GS) or COK-002/CXD2972GB (with partial PS2 hardware compatibility, GS only)
1301 (CELL PLL Unlock)[edit]
Has been reported in a console where the CPU die was chipped during a delid attempt gone wrong. The console exhibited a Green Light of Death (GLOD) and shutting down periodically with A0801301.
On another console 1301 occurred after both the CPU and RSX were reballed. The reball of cell likely failed, or damaged it.
On a third console it was reported after nearly every chip on the Motherboard was heat gunned. They probably didn’t achieve the necessary temperatures to reflow the CPU, and if they did they probably damaged it by using too much heat.
In all 3 cases the CPU was damaged or heated in some way.
14FF (Check Stop)[edit]
This error can occur when the console was on at the time the YLOD occurred. On consoles exhibiting this error, subsequent attempts to start the console resulted in a GLOD with 1601/1701 errors, or a YLOD within 2 seconds. SYSCON errors usually show one A0801601/A0801701 occurring at the same timestamp, followed thereafter by 3034/4xxx errors for all subsequent attempts to PWR it on. Or it’ll GLOD and throw more 1701/1601’s. The working theory is that there is a precarious solder joint (BGA or bump defect) teetering on the edge of breaking. It’ll soon switch to 3034 with or without 4xxx errors.
Complicating the issue is the fact that sometimes people will get a 1301 or 1802 also. It likely has to do with where the joints are failing and it’s involving those sub systems briefly before fully breaking.
Unlike Livelocks, which can be caused by both hardware and software conditions, Checkstops are a hardware issue. A checkstop occurs when the CPU or GPU, cache, memory, or I/O bus controller, finds something in an impossible state (impossible unless the Hardware is broken). The error isn’t identified as a particular bus transfer in progress, or the CPU/GPU detects the console is stuck (frozen, no progress being made with that operation). When nothing can be done for a long enough period of time, the checkstop errors is logged and BE ATTENTION is driven High. SYSCON immediately shuts the console down with error A08014FF and A0801701.
The most likely cause of the error is a failing GPU (RSX) solder joint (BGA or Bumps). A distant second is a failing CPU (CELL) solder joint (BGA).
1601 (CELL Livelock Detection)[edit]
CPU is deadlocked and cannot proceed. Some kind of error occurred, preventing a process from completing. It is the software equivalent of trying to pass someone in a hallway and you both keep choosing the same direction to swerve. Now imagine you had exactly 30s to make it to the other end of the hallway to catch an elevator, and it takes 29s to get there. Neither of you can pass and miss your elevators because of it. Now imagine you were supposed to pass an envelope to a person on the 3d floor, who had 30s to read it and enter it in a spreadhseet. Now he misses his deadline too. And imagine the entire organization was micromanaged like this. One disruption can cause the whole operation to grind to a halt! That’s kinda how this works.
Basically this means the console froze and had to reboot. In the PS3 this is often preceded by graphical artifacting. The cause is often a solder joint on the RSX (BGA or Bumps). Generally these errors are seen in the early stages of a GPU failure. However CPU failures cannot be ruled out. They are just less likely.
Speculation:
As the impedance of propagating solder cracks increases, the digital logic core has a harder time calibrating the FlexIO during BitTraining. Once impedance reaches the limits of the compensation network, interference causes random issues during software execution. LiveLock conditions cause BE Attention signal to be driven High and the SYSCON shuts the console down (YLOD) with errors A0801601 and A0801701.
As the console cools the microscopic gaps in the solder can be physically reconnected by thermal warping. Warping is due to differences in the Coefficients of Thermal Expansion (CTE) between materials in the motherboard and processor. This expansion and contraction can reconnect the solder joints just enough to allow the console to boot. Or it may disconnect them.
- If they reconnected, the console will boot until it experiances another 1601/1701 event.
- It they do not reconnect, the console cannot complete BitTraining and will fail in POST with error A0403034. Often with an associated Data error, such as A0404401 (if the broken solder joint affected a Data line on one of the SPI lines). If there is no Data error, the broken joint only affected the voltage for the SPI line. Either RSX_VDDR or YC_RC_VDDIO.
If a YLOD turns into a GLOD after reball/reflow then 1601 (with or without 1701) could mean the RSX RAM was damaged. This is a loose association based on a few user reports.
1701 (CELL BE ATTENTION)[edit]
BE ATTENTION is an active-high output flag sent by the CPU to the SYSCON. During initialization & configuration it is used to request an operation by the SYSCON. When ATTN goes High the syscon reads the SPI Status Register to determine the cause of the Attention signal. It remains high until software resets the condition that caused it.
After Power On Reset the BE attention signal is driven low and is supposed to stay there! If there is a Checkstop error (14FF), Livelock Detection (1601), or PLL Unlock (1301) the CPU enters a fault condition and raises the Attention signal (1701) during operation. The SYSCON sees this and immediately shuts the console down with error code A0801701 and usually another error indicating the cause. One common way this happens is when a solder connection breaks while the system is on. This could be the BGA (Ball Grid Array) or the Solder Bumps under the die.
Going into more detail, BE Attention is used during Power On Reset (POR)…
- To load CPU VID voltage from the VRM internal registers.
- To Write configuration-ring data (Important CPU Config settings that should only be modified at boot, otherwise errors can occur).
- To calibrate the FlexIO interface (BitTraining).
If Attention occurs during the Power ON State (Step# 80) it indicates an error condition. Basically, something is flagged by the Processor as abnormal. It’s forced to attempt to resolve the problem before it can continue with whatever it was trying to do. If the error condition cannot be resolved, the CPU sends the ATTENTION signal to the SYSCON. The SYSCON immediately shuts off the console, then reads the SPI Status Register to determin the cause. Then it records the A0801701 in it’s errorlog alogng with the specific cause (if it determined one). Errors that can cause the Attention include:
- Unresolved Checkstop errors (14FF)
- Livelock Detection (1601)
- PLL Unlock Condition (1301)
- BGA/Bump Defect that occurs while the Console was On (Step# 80). Subsequent attempts to power on the console would result in 3034/4xxx errors.
A user get this error code with a damaged hard drive. He was transfering some games via FTP, and his console turned off with Ylod. When he tried to turn on again, he get a Glod. Problem was fixed just by changing the HDD.
1701 has been reported from using homebrew apps that caused a software conflict. Uninstalling the software can resolve the issue. It that’s not possible because the system is locked up, it may be necessary to restore the operating system (OS).
1802 (RSX Initialization)[edit]
A0201802 is the error the SYSCON will return when there is no RSX installed at all! Step# 20 is when the RSX is first Initialized. So if it’s not responding that early in the Power On Sequence, then it’s Dead-Dead or completely missing!
A0801802 is occuring after the console has booted (step# 80) and causes BE Attention (1701) alarm raised when a Checkstop error (14FF) occurs. Likely the 1802 was the hardware failure that caused the checkstop error. That causes BE ATTENTION to be driven High and the SYSCON shuts the console down with A0801802, A08014FF, and A0801701. That makes sense because the CPU couldn’t continue with it’s process when the RSX interrupt occurred. These errors have been seen in consoles that were repaired by an RSX reball/replacement.
1900 (RTC Voltage)[edit]
RTC voltage
1901 (RTC Oscilator)[edit]
RTC oscilator
1902 (RTC Access)[edit]
RTC access
Fatal Errors[edit]
- This fatal error codes seems to be repeated up to 3 times for 3 special cases, as example, errors 2003, 2103, and 2203 are related with southbridge, the only thing that changes in the error code is the second digit (located inmediatly after the category 2). If at some point we find what means that second digit we can join the wiki page sections together (with titles: «2001 & 2101», «2002 & 2102», «2003 & 2103», etc…)
In other words, there are 3 groups: 20xx (composed by 13 errors), 21xx (composed by 13 errors), and 22xx (composed by 1 error). See Discussion
2001 (CELL)[edit]
CELL (IC1001)
2002 (RSX)[edit]
RSX (IC2001)
2003 (South Bridge)[edit]
South Bridge Error (IC3001)
2010 (Clock Subsystems)[edit]
Clock Generator Error (IC5001)
2011 (Clock CELL)[edit]
Clock Generator Error (IC5003)
2012 (Clock CELL)[edit]
Clock Generator Error (IC5002)
2013 (Clock CELL, RSX, South Bridge)[edit]
Clock Generator Error (IC5004)
2020 (HDMI)[edit]
HDMI Error (IC2502)
2022 (DVE)[edit]
DVE Error (IC2406, CXM4024R MultiAV controller for analog out)
2024 (AV)[edit]
This error tends to cause a delayed Yellow Light Of Death (10s — 1min). Sometimes described as a Green Light Of Death (GLOD) or Red Light Of Death (RLOD).
2124 and 2024 errors have been fixed by replacing both the AV and HDMI encoders. One user reported 2024/2124 errors resolved by replacing the HDMI encoder. Another removed the HDMI encoder and tested the console without it. That console primarily filled the errorlog with 2124 errors, but a few 2024’s as well. So it is unclear if 2124 is specific to the HDMI Encoder or AV Encoder. It seems it could be either.
2030 (Thermal Sensor, CELL)[edit]
- Components Involved:
- CELL
- CELL Temperature Monitor (IC1101 on COK-001)
Speculation: 2030-33 errors reported in case of dodgy PWR/EJT daughter board.
2031 (Thermal Sensor, RSX)[edit]
- Components Involved:
- RSX
- RSX Temperature Monitor (IC2101 on COK-001)
2033 (Thermal Sensor, South Bridge)[edit]
- Components Involved:
- South Bridge
- South Bridge Temperature Monitor (IC3101 on COK-001)
2101 (CELL)[edit]
CELL (IC1001)
2102 (RSX)[edit]
RSX (IC2001)
I had a short in the cell, in the nec tokin after removing it, changed the error.
After adding pressure to the CELL, I used thermal pads to create the pressure. 5 small 1 mm pads and two larger 2mm pads, the same size and depth as the ones used on the southbridge chip) The console now boots and runs within issues.
2103 (South Bridge)[edit]
Southbridge Error (IC3001)
2110 (Clock Subsystems)[edit]
Clock Generator Error (IC5001)
This error can be caused by a 5V_MISC short to ground. One user had an A0022110 after replacing IC6105 (Buck Converter) and accidentally bridging the 5V voltage input. So check the 5V line for shorts.
This error has been resolved by a number of users who had a short on F6001. It is important to note that something usually causes that fuse to blow, like a short. So it’s important to troubleshoot the board to find and repair the shorting component before replacing the fuse. Otherwise the new one will blow too.
One user, who resolved this error on his C model PS3, noted «very short YLOD. Error code shows 2110[…]Some earlier code shows 1001 and 1002.» The 1001 & 1002 errors he noted in the log before the 2110 appeared may have been a clue that C6019 or C6020 (as they are in parallel) was deteriorating. Further investigation is needed to confirm this hypothesis, however. In his case, C6019 was shorting and caused F6001 to blow. This short overloaded F6001 and cut power to many Subsystems, such as the HDD, USB ports, South bridge, CPU, GPU, etc.
Another user confirmed this. The error log was showing code 2110 and one entry earlier was showing code 1001. Checking both capacitors after removing them from the board, confirmed that one capacitor was reading 140 ohms and not reading as a capacitor, so it was working as a resistor causing extra load in the fuse.
One particularly noteworthy component is IC6020, which supplys +3.3v_MK_Vdd to the clock generator (IC5001). When F6001 blows, a 02 2110 is generated. A step number of 02 is very early in the power on sequence (POS), which explains why 2110 is triggered instead of another error code. Since the clock generator is critical for timing, it is one of the first things the SYSCON checks during the POS.
2111 (Clock CELL)[edit]
Clock Generator Error (IC5003)
2112 (Clock CELL)[edit]
Clock Generator Error (IC5002)
2113 (Clock CELL, RSX, South Bridge)[edit]
Clock Generator Error (IC5004)
Analog Voltage for the core PLL of IC5004, which is an ICS9214 Clock Generator used to support the Rambus XDR memory subsystem and Redwood logic interface.
SW_1_B enables control Pin 5 on IC6013, which generates +2.5V_LREG_XCG_500_MEM. If that fails it generates A0092113.
2120 (HDMI)[edit]
HDMI Error (IC2502)
A0202120/A0213013 error combinations are common. They appear to be related to VDDIO. IC6301 is involved in the formation of +1.7V_MISC, which amonge other things provides input power to the DC-DC converters that output +1.2V_YC_RC_VDDIO, +1.5V_YC_RC_VDDA, +1.2V_SB_VDDC and +1.2V_SB_VDDR. Lack of voltage to these DC/DC converters downstream of IC6301 suggests F6302 has blown. A number of people have fixed these 2120/3013 errors by finding shorts at or near C6320 and replacing Fuse F6302. But there are many other SMD nearby that might cause these fuses to blow. So you will need to track the source of the short and fix it, or the fuse will just blow again.
A bad thermistor (TH2501) has been reported to cause A0002120.
A0802120 and A0902120 errors may be related to the actual HDMI transmitter (IC2502). Or they can be caused by BGA/Bump defects affecting VDDIO, on the RSX or CELL. BGA defects on the RSX VDDIO pads have been confirmed with a pressure test to have caused 2120 errors.
2122 (DVE)[edit]
DVE Error (IC2406, CXM4024R MultiAV controller for analog out)
2124 (AV)[edit]
This error tends to cause a delayed Yellow Light Of Death (10s — 1min). Sometimes described as a Green Light Of Death (GLOD) or Red Light Of Death (RLOD).
2124 and 2024 errors have been fixed by replacing both the AV and HDMI encoders. One user reported 2024/2124 errors resolved by replacing the HDMI encoder. Another removed the HDMI encoder and tested the console without it. That console primarily filled the errorlog with 2124 errors, but a few 2024’s as well. So it is unclear if 2124 is specific to the HDMI Encoder or AV Encoder. It seems it could be either.
2130 (Thermal Sensor, CELL)[edit]
- Components Involved:
- CELL
- CELL Temperature Monitor (IC1101 on COK-001)
2131 (Thermal Sensor, RSX)[edit]
- Components Involved:
- RSX
- RSX Temperature Monitor (IC2101 on COK-001)
2133 (Thermal Sensor, South Bridge)[edit]
- Components Involved:
- South Bridge
- South Bridge Temperature Monitor (IC3101 on COK-001)
2203 (South Bridge)[edit]
From sabotage tests it was found that disabling +2.5V_SB_PLL_VDDC
produced four A0802203 errors. Also, disabling +1.2V_SB_VDDR produced A0302203 & A0403034.
2310[edit]
Fatal Boot Errors[edit]
3000[edit]
Power Failure
3001[edit]
12v Power Failure
Usually this caused by a bad Power Supply Unit (PSU).
Alternatively, a failure on the 12v_main line can cause it. Check fuses, capacitors, resistors, and IC’s on the 12v line. Measure resistance of the large 2 prong 12v connector on the motherboard. It should read in the Kilo ohms range if there is sufficient separation. Otherwise you may have a short somewhere on the line.
3002[edit]
Power Failure
3003 (CELL Core Power Failure)[edit]
This error will occur in the case of a PWR failure on the main core voltage of the CPU (VDDC). For example, if the filtering capacitors (NEC/TOKIN’s) are severely damaged. There are other SMD’s in that filter, so it could be related to them as well.
A shorted Blu-Ray drive can cause this error as well. Be sure that your drive is going well before doing anything on your console.
3004 (RSX Core Power Failure)[edit]
This error will occur in the case of a PWR failure on the main core voltage of the GPU (VDDC). For example, if the filtering capacitors (NEC/TOKIN’s) are severely damaged. There are other SMD’s in that filter, so it could be related to them as well.
3010[edit]
CELL Error
Observation: A user triggered this error by injecting 3.3V into PWRGD (power good) of IC6103 (NCP5318 CPU Buck Controller). It generated error 20 1001 and 20 3010.
3011[edit]
CELL
3012[edit]
CELL
3013[edit]
BE_SPI DI/DO ERROR
CELL not communicating to syscon via SPI (1.2V MC2_VDDIO and 1.2V BE_VCS no output) = Possible shorts on the line, check C4001 and trailing caps. Possible dead CPU?
Another user had one on a CPU he damaged while deliding.
A0212120/A0213013 error combinations are common. They appear to be related to VDDIO. IC6301 is involved in the formation of +1.7V_MISC, which among other things provides input power to the DC-DC converters that output +1.2V_YC_RC_VDDIO, +1.5V_YC_RC_VDDA, +1.2V_SB_VDDC and +1.2V_SB_VDDR. Lack of voltage to these DC/DC converters downstream of IC6301 suggests F6302 has blown. A number of people have fixed these 2120/3013 errors by finding shorts at or near C6320 and replacing Fuse F6302. But there are many other SMD nearby that might cause these fuses to blow. So you will need to track the source of the short and fix it, or the fuse will just blow again.
One person reported A0202120/A0213013 when his CPU substrate (interposer) was cracked in half by a failed delid attempt.
Through sabotage testing is was found that disabling +1.2V_YC_RC_VDDIO caused A0213013.
Also through sabotage testing, it was found that when L6305 is removed it cut’s off +1.8V_RSX_FBVDDQ (VRAM voltage). It caused a 10x A0202120 & 1x A0213013 error combo.
3020[edit]
CELL
3030[edit]
CELL
3031[edit]
CELL
3032[edit]
CELL Error
It was discovered throgh sabotage testing that disabling +1.5V_YC_RC_VDDA caused error A0313032
3033[edit]
CELL
3034[edit]
CELL / RSX Communication Error
This is the most common error seen in early Phat model PS3’s with the hottest 90nm RSX and CELL processors. It is the hallmark of a BGA defect (such as a cracked solder ball). It is by no means limited to the early models, however. These arrors have been seen in every model of PS3 with varying frequency. The most reliable consoles appear to be those with a CPU/GPU of smaller manufacturing process, such as the Super Slim (SS) models (42xx and later) which have a 45nm CELL and 28nm RSX. The least reliable are the PS2 Backwards Compatable A-E Models, which have 90nm RSX/CELL.
The root cause is mechanical fatigue due to thermal cycling. The materials used to contruct the motherboard and processors have different properties. For example, the cooefficient of thermal expansion for FR4 Fiberglass used in the Motherboard and Processor Substrate is different than that of the copper BGA pads, which is different than that of the Lead-Free solder used to join them. This means they will expand and contract at different rates as the chip heats up and cools down, which applies shearing force to the BGA. Over many thermal cycle this deforms the solder balls and cause a defect (Such as a solder crack, torn trace, or the ball may pull away from the pad).
3034 is triggered when the voltage or data lines connecting the CPU/GPU are broken. There is often a data error (4XXX) that also appears, but not always. The most common cause is a BGA defect on the RSX, which usually requires a reball/reflow to repair. Something about the RSX construction or workload causes it to fail more frequently, but the CPU can fail too. However, it’s not always a BGA defect. The bumps on either chip can fail, Flex IO traces (the data lines that connect the CPU/GPU) can be broken/scratched, or accumulated damage from wear and tear (electromigration) can also cause this error. The true percentage of consoles with BGA defects that can be fixed with a reball/reflow is unknown. However, there is evidence to suggest that the underfill used to reinforce the CPU/GPU die and RSX Ram bumps was not as effective when the PS3 was manufactured. This could explain many of the consoles who’s reball fails prematurely afterwards.
If a reflow/reball of both the CPU/GPU fails, then the chip is beyond repair and needs replaced. The RSX can be replaced with the same model without modification. It can be replaced with a different model using a modchip (or new syscon modification) that injects the correct RSX ID during boot. This has been nicknamed a «Frankenstein Mod.» Since they are married to each other, the CPU can only be replaced if also replacing the chipset (NAND/NOR and SYSCON Chips). Since the CPU can’t as easily be replaced, a dead CPU is usually considered unrepairable.
3035[edit]
CELL and RSX
3036[edit]
CELL and RSX
3037[edit]
CELL and RSX
3038[edit]
CELL and RSX
3039[edit]
CELL and RSX
3040[edit]
Flash
A0603040 is know to be caused by not soldering the flash (NAND/NOR) back on properly. It happens when the flash is not powered. Step #60 is when the StarShip 2 flash controller and NAND/NOR are initialized, kicking off the firmware sequence that loads the Operating System. Check their voltages and be sure the FW is not corrupt. If you have a backup, you could try replacing the Flash to see if a module failed.
Data Errors[edit]
- This error codes seems to be repeated up to 5 times for 5 special cases, as example, errors 4001, 4101, 4201, 4301, 4401 are related to CELL, the only thing that changes in the error code is the second digit (located inmediatly after the category). If at some point we find what means that digit we can join the wiki page sections together (with titles: «4001, 4101, 4201, 4301, 4401», etc…)
4001[edit]
CELL
4002[edit]
RSX
4003[edit]
Southbridge
4011[edit]
CELL
4101[edit]
CELL
4102[edit]
RSX
4103[edit]
Southbridge
4111[edit]
CELL
4201[edit]
CELL
4202[edit]
RSX
4203[edit]
Southbridge
4211[edit]
CELL
4212[edit]
RSX
4221[edit]
CELL
4222[edit]
RSX
4231[edit]
CELL
4261[edit]
CELL
4301[edit]
CELL
4302[edit]
RSX
4303[edit]
Southbridge
4311[edit]
CELL
4312[edit]
RSX
4321[edit]
CELL
4322[edit]
RSX
4332[edit]
RSX
4341[edit]
CELL
4401[edit]
CELL or RSX
4402[edit]
CELL or RSX
4403[edit]
CELL or RSX
4411[edit]
CELL or RSX
4412[edit]
CELL or RSX
4421[edit]
CELL or RSX
4422[edit]
CELL or RSX
4432[edit]
CELL or RSX
4441[edit]
CELL or RSX
Hardware Modification |
||
---|---|---|
Generic |
Powering · Reference designators · Soldering Tips/Guides · Tools · Wiring |
|
Cooling |
Thermal grease · Watercooling |
|
Peripheral |
HDCP |
|
Storage |
Externalisation · ODE |
|
Repair |
BGA reball · BGA reflow · IHS removal · Refurbished Compatibility · Syscon Error Codes |
|
Visual |
E3 Mod |
This post is a basically a description of Windows System Error Codes. Sometimes all you get is the system error code but nothing about what the code means. If you the description of that error code then troubleshooting becomes easy.
The Windows System Error Codes are very broad. Each one can occur in one of many hundreds of locations in the system. If you are installing an third party application you should contact customer support of that software to know what error codes mean.
To obtain support for a Microsoft product, go to https://support.microsoft.com. Please note that the descriptions of these codes cannot be very specific. Use of these codes requires some amount of investigation and analysis.
The table below describes system Exit or Error codes when a task is executed. The description of codes may help in identifying and troubleshooting the issues.
How to fix the Windows System Error 0 ERROR_SUCCESS
This article features error number Code 0, commonly known as ERROR_SUCCESS and it is described as The operation completed successfully.
About Windows System Error
Windows system errors occur at various times during normal use of the operating system. Users should receive an error code that they can use to analyze and investigate what happened to the computer. However, these codes will not necessarily provide detailed information. And since non-system software can also return these codes, the user will need to have an understanding of the program and runtime context when analyzing errors. Here are some ways to understand symptoms, causes and general solutions.
Symptoms of Code 0 — ERROR_SUCCESS
When processing, Windows send System Error codes to tell the user the kind of problem happening to the computer. They appear at unexpected instances so it is difficult to detect unless one analyzes the error message that comes with it. Windows System Error codes are symptoms to other problems happening to the computer, and since they are, users need to consider the error message, the time and the processes running while it occurred.
(For illustrative purposes only)
Causes of ERROR_SUCCESS — Error 0
Windows system errors can be caused by software or hardware breakdown. Sometimes, your software is not working in consistency with the hardware because of changes or general hardware failures. At some instances, users might have installed conflicting drivers or the OS got corrupted. Perhaps a component had some abnormal power surge which can damage parts and affect its operation. Different kinds of factors may have happened which caused the system to display a System error at certain periods of computer usage. Problems with software and hardware, of course, easily resolved if user can easily pinpoint the portion that are causing the failure. To address problems with these kinds of error, try the following repair methods.
Repair Methods
If a repair method works for you, please click the upvote button to the left of the answer, this will let other users know which repair method is currently working the best.
Please note: Neither ErrorVault.com nor it’s writers claim responsibility for the results of the actions taken from employing any of the repair methods listed on this page — you complete these steps at your own risk.
Method 2 — Update or Reinstall your Driver
Changes done to your computer can mess up your driver. If that happens, you can either reinstall your driver or update it. To do that, you can do the following.
- If you received a Device Manager error code, take note of the description so you can pinpoint the driver or the component that is causing the error
- Launch device manager by either searching for Device Manager or running «devmgmt.msc»
- Find the driver on the list and right click on it
- Click Uninstall in case you want to reinstall the driver, or Update Driver Software if you are trying to update it.
- You will see a confirmation window, make sure the Delete driver software item is unchecked.
- Click ok then reboot your computer.
You may alternately do this:
- You may manually download the driver from the manufacturer.
- Run it to replace the current driver you are using.
- Once done, let your computer reboot.
Method 1 — Repair Corrupted or Missing System Files
System File Checker — this tool works pretty much like a registry checker but this helps you find and repair corrupted or missing system files so it takes a bit longer to run
- To run the command, open elevated Command prompt by typing it on the search window, then right clicking Command Prompt and choosing run as administrator
- Type sfc /scannow on the prompt and wait until verification process is successfully completed
Run Checkdisk — Chkdsk repairs many inconsistencies with the OS. System errors may also be repaired using this utility. To run it,
- Open Command Prompt by typing it on the search box, then when you see the result on the list overhead, right click on it and choose, Run as Administrator
- Your system might say you cannot run it at the moment because you are still processing data, and will ask you if you want to run it before the next startup, just click y for yes and then exit the screen and reboot the computer
- Once the computer reboots, you will see checkdisk running outside of Windows, just let it finish till it gives you a report of what was found, fixed or marked
- Exit the window and the let your computer reboot normally.
Method 3 — Roll Back your Driver
You may also go back to the original driver your computer came with. To do that:
- On Device Manager, find the problematic driver.
- Right click the device and click Properties.
- When you see the Properties window, click the Driver tab.
- You will see the Roll Back Driver button, click that.
- Confirm the rollback by clicking Yes when you see a question that says «Are you sure you would like to roll back to the previously installed driver software?»
- Restart your computer after this.
Method 4 — Use System Restore
For Window 7
- Click Start > All Programs > Accessories > System Tools
- Click System Restore and then click Next.
- Choose your restore point when you know your computer is doing fine
- Keep clicking Next and the click Finish
- It will take time so be patient, wait for the operation to completely stop
For Windows 8, 8.1 or 10
- Right-click the Start button, then click System.
- Once in System window, click System and Security.
- Tap System and on the left side, click System protection.
- Click System Restore, follow the instruction to select your restore point and then click Next until you see the Finish button.
- Wait for the restore process to finish.
Method 5 — Repair reinstall using your OS CD or flash drive
- The best way to repair your system software is still reinstalling it. Repair reinstall process helps you keep your files as you repair the operating system. Though, you need to make sure you back up your file if you indeed need to clean reinstall your computer. You will need to insert your installation media and restart your computer.
- Access your BIOS, the process differs from one computer model to another, it may be F1, F2, or Del button.
- Once there, go to boot section, set boot to the installation disk and save settings.
- For earlier version of Windows, you may need to tap your keyboard while you wait for the computer to access the installation disk.
- Choose the repair utility first instead of clean installing the OS. This may save you a lot of hassles. However, if the issue continues after rebooting your computer, then just back up files and do the clean reinstall.
Other languages:
Wie beheben Fehler 0 (ERROR_SUCCESS) — Der Vorgang wurde erfolgreich abgeschlossen.
Come fissare Errore 0 (ERROR_SUCCESS) — L’operazione è stata completata con successo.
Hoe maak je Fout 0 (ERROR_SUCCESS) — De bewerking is succesvol voltooid.
Comment réparer Erreur 0 (ERROR_SUCCESS) — L’opération s’est bien déroulée.
어떻게 고치는 지 오류 0 (ERROR_SUCCESS) — 작업이 성공적으로 완료되었습니다.
Como corrigir o Erro 0 (ERROR_SUCCESS) — A operação foi completa com sucesso.
Hur man åtgärdar Fel 0 (ERROR_SUCCESS) — Operationen var lyckad.
Как исправить Ошибка 0 (ERROR_SUCCESS) — Операция завершилась успешно.
Jak naprawić Błąd 0 (ERROR_SUCCESS) — Operacja zakończona sukcesem.
Cómo arreglar Error 0 (ERROR_SUCCESS) — La operación se completó con éxito.
About The Author: Phil Hart has been a Microsoft Community Contributor since 2010. With a current point score over 100,000, they’ve contributed more than 3000 answers in the Microsoft Support forums and have created almost 200 new help articles in the Technet Wiki.
Follow Us:
Last Updated:
05/11/22 05:43 : A Windows 10 user voted that repair method 2 worked for them.
This repair tool can fix common computer problems such as blue screens, crashes and freezes, missing DLL files, as well as repair malware/virus damage and more by replacing damaged and missing system files.
STEP 1:
Click Here to Download and install the Windows repair tool.
STEP 2:
Click on Start Scan and let it analyze your device.
STEP 3:
Click on Repair All to fix all of the issues it detected.
DOWNLOAD NOW
Compatibility
Requirements
1 Ghz CPU, 512 MB RAM, 40 GB HDD
This download offers unlimited scans of your Windows PC for free. Full system repairs start at $19.95.
Article ID: ACX013963EN
Applies To: Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000
Speed Up Tip #93
Set BIOS to Optimal Settings:
It pays to check the BIOS options and adjusting them to optimal settings especially if you have an older or a custom-built computer. You can speed up boot time by modifying critical settings such as CPU caches, IDE/SATA data transfer mode, and drivers. You can also set the memory timings and the Fast/Quick boot if available.
Click Here for another way to speed up your Windows PC
Errors in Alphabetical Order: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Microsoft & Windows® logos are registered trademarks of Microsoft. Disclaimer: ErrorVault.com is not affiliated with Microsoft, nor does it claim such affiliation. This page may contain definitions from https://stackoverflow.com/tags under the CC-BY-SA license. The information on this page is provided for informational purposes only. © Copyright 2018
Предисловие
Я долго думал, нужно ли делать перевод этого, уже известного, цикла статей под названием «System error support in C++0x», повествующего о <system_error>
и обработке ошибок. С одной стороны он написан в 2010 году и меня попросту могут счесть некрофилом, а с другой стороны в рунете очень мало информации по этой теме и многие довольно свежие статьи ссылаются на этот цикл, что говорит о том, что он не теряет актуальности и по сей день.
Потому я решил, что увековечить сей труд
в граните
на Хабре будет неплохой идеей.
Сразу хочу предупредить, что опыта переводчика у меня нет и вообще май инглиш из бед. И огорчений. Так что буду рад вашей критике и предложениям, желательно в личку.
Итак, приступим.
Часть 1
Введение
Среди новых функций стандартной библиотеки в C++0x есть небольшой заголовочный файл под названием <system_error>
. Он предоставляет набор инструментов для управления, внезапно, системными ошибками.
Основными компонентами, определенными в нем, являются:
class error_category
class error_code
class error_condition
class system_error
enum class errc
Я приложил руку к дизайну этого модуля, так что в серии своих статей я постараюсь рассказать о причинах появления, истории и предполагаемом использовании его компонентов.
Где взять?
Полная реализация, а также поддержка C++03, включена в Boost. Я предполагаю, что на данный момент это, вероятно, лучшая проверенная реализация с точки зрения переносимости. Разумеется, вы должны писать boost::system::
, а не std::
.
Реализация включена в GCC 4.4 и более поздних версиях. Однако вы должны скомпилировать свою программу с опцией -std=c++0x, чтобы ее использовать.
Наконец, Microsoft Visual Studio 2010 будет поставляться с реализацией данных классов [но с ограничениями]. Основное ограничение заключается в том, что system_category()
не представляет ошибки Win32 так как это было задумано. Подробнее о том, что это значит будет сказано позже.
(Обратите внимание, что это только те реализации, о которых я знаю. Могут быть и другие).
[Примечание переводчика: конечно же, эта информация уже давно устарела, теперь <system_error>
является неотъемлемой частью современной стандартной библиотеки]
Краткий обзор
Ниже приведены типы и классы, определенные в <system_error>
, в двух словах:
class error_category
— базовый класс, используется для определения источников ошибок, а так же категорий кодов ошибок и условий.сlass error_code
— представляет собой конкретное значение ошибки, возвращаемое операцией (например, системным вызовом).class error_condition
— что-то, что вы хотите проверить и, возможно, среагировать на это в своем коде.class system_error
— исключение, используемое для обертыванияerror_code
, когда ошибка будет передана с помощью throw/catch.enum class errc
— набор общих условий ошибок, унаследованный от POSIX.is_error_code_enum<>, is_error_condition_enum<>, make_error_code, make_error_condition
— механизм преобразования перечислений с значениями ошибок вerror_code
илиerror_condition
.generic_category()
— возвращает объект категории, используемый для классификации кодов ошибок и условий основанных наerrc
.system_category()
— возвращает объект категории, используемый для [классификации] кодов ошибок исходящих от операционной системы.
Принципы
В этом разделе перечислены некоторые основные принципы, которых я придерживался при проектировании модуля. (Я не могу говорить за остальных участников). Как и в большинстве программных проектов, некоторые из них были целями с самого начала, а некоторые возникли в процессе.
Не все ошибки являются исключительными
Проще говоря, исключения — это не всегда правильный способ обработки ошибок. (В некоторых кругах это утверждение является противоречивым, хотя я действительно не понимаю, почему.)
Например, в сетевом программировании обычно встречаются такие ошибки, как:
- Вы не смогли подключиться к удаленному IP-адресу.
- Ваше соединение упало.
- Вы попытались открыть IPv6-сокет, но у вас нет доступных сетевых IPv6-интерфейсов.
Конечно, они могут быть исключительными обстоятельствами, но в равной степени они могут обрабатываться и как часть нормального потока управления. Если вы разумно ожидаете, что это произойдет, это не является исключительным. Соответственно:
- IP-адрес является лишь одним из списка адресов, соответствующих имени узла. Вы хотите попробовать подключиться к следующему адресу в списке.
- Сеть ненадежна. Вы хотите попытаться восстановить соединение и сдаться только после N сбоев.
- Ваша программа может вернуться к использованию IPv4-сокета.
Другим требованием, в случае asio, был способ передать результат асинхронной операции обработчику завершения. В этом случае я хочу, чтобы код ошибки был аргументом для обработчика обратного вызова.
(Альтернативный подход заключается в том, чтобы предоставить средство для реконструирования исключения внутри обработчика, такого как асинхронный шаблон .NET BeginXYZ/EndXYZ
. На мой взгляд, такой дизайн добавляет сложности и делает API более подверженным ошибкам.)
[Примечание переводчика: теперь таким средством может быть std::exception_ptr
из C++11]
И последнее, но не менее важное: в некоторых областях нельзя использовать исключения из-за размера кода и ограничений производительности.
В общем, нужно быть прагматичным, а не догматичным. Использовать любой механизм ошибок лучше всего с точки зрения ясности, правильности, ограничений и, да, даже личного вкуса. Часто правильным критерием для принятия решения между исключением и кодом ошибки является способ использования. Это означает, что представление системной ошибки должно поддерживать оба [варианта].
Ошибки исходят из нескольких источников
Стандарт C++03 распознает errno как источник кодов ошибок. Это используется функциями stdio, некоторыми математическими функциями и так далее.
На POSIX платформах многие системные операции используют errno для передачи ошибок. POSIX определяет дополнительные коды ошибок errno для покрытия этих случаев.
Windows, с другой стороны, не использует errno за пределами стандартной библиотеки C. Вызовы Windows API обычно сообщают об ошибках через GetLastError()
.
Если рассматривать сетевое программирование, семейство функций getaddrinfo
использует собственный набор кодов ошибок (EAI_…) на POSIX, но разделяет «пространство имен» GetLastError()
в Windows. Программы, интегрирующие другие библиотеки (для SSL, регулярных выражений и так далее), столкнутся с другими категориями кодов ошибок.
Программы должны иметь возможность управлять этими кодами ошибок согласованным образом. Я особенно заинтересован тем [способом], что позволит сочетать операции для создания абстракций более высокого уровня. Объединение системных вызовов, getaddrinfo
, SSL и регулярных выражений в один API не должно заставлять пользователя этого API бороться со «взрывом» типов кодов ошибок. Добавление нового источника ошибок в реализацию этого API не должно изменять его интерфейс.
Возможность пользовательского расширения
Пользователи стандартной библиотеки должны иметь возможность добавлять свои собственные источники ошибок. Эта возможность может быть использована просто для интеграции сторонней библиотеки, но также она связана с желанием создавать абстракции более высокого уровня. При разработке реализации протокола, такого как HTTP, я хочу иметь возможность добавлять набор кодов ошибок, соответствующих ошибкам, определенным в RFC.
Сохранение изначального кода ошибки
Это не было одной из моих первоначальных целей: я думал, что стандарт предоставит набор хорошо известных кодов ошибок. Если системная операция вернула ошибку, библиотека должна была перевести ошибку в хорошо известный код (если такое отображение имело смысл).
К счастью, кто-то указал мне на проблему моего подхода. Перевод кода ошибки сбрасывает информацию: ошибка, возвращаемая основным системным вызовом, теряется. Это может быть не очень важно с точки зрения потока управления программой, но это имеет большое значение для поддержки программы. Нет никаких сомнений в том, что программисты будут использовать стандартизованный код ошибки для логирования и трассировки, а изначальная ошибка может быть жизненно важна для диагностики проблем.
Этот окончательный принцип прекрасно сочетается с моей темой для второй части: error_code
vs error_condition
. Будьте на связи.
Часть 2
error_code vs error_condition
Из 1000+ страниц стандарта C++0x случайный читатель должен подметить одну вещь: error_code и error_condition выглядят практически идентичными! Что происходит? Это последствия бездумной копипасты?
Важно то, что вы будете с этим делать
Давайте посмотрим на описания, которые я давал в первой части, еще раз:
сlass error_code
— представляет собой конкретное значение ошибки, возвращаемое операцией (например, системным вызовом).class error_condition
— что-то, что вы хотите проверить и, возможно, среагировать на это в своем коде.
Классы различаются, потому что они предназначены для разных целей. В качестве примера рассмотрим гипотетическую функцию под названием create_directory()
:
void create_directory
(
const std::string & pathname,
std::error_code & ec
);
Которую вы вызываете следующим образом:
std::error_code ec;
create_directory("/some/path", ec);
Операция может завершиться неудачей по разным причинам, например:
- Нет нужных прав.
- Каталог уже существует.
- Путь слишком длинный.
- Родительский путь не существует.
Какова бы ни была причина сбоя, когда функция create_directory()
вернет управление переменная ec
будет содержать код ошибки, специфичный для ОС. С другой стороны, если вызов был успешным, то в ec
будет находиться нулевое значение. Это дань традиции (используемой errno и GetLastError()
), когда ноль указывает на успех, а любые другие значения на ошибку.
Если вас интересует только была ли операция успешной или неудачной, вы можете использовать тот факт, что error_code
легко конвертируется в bool
:
std::error_code ec;
create_directory("/some/path", ec);
if(!ec)
{
//Success.
}
else
{
//Failure.
}
Однако предположим, что вы заинтересованы в проверке ошибки «каталог уже существует». Если случится эта ошибка, то наша гипотетическая программа может продолжать работать. Давайте попробуем реализовать это:
std::error_code ec;
create_directory("/some/path", ec);
if(ec.value() == EEXIST) //No!
...
Этот код неправильный. Он может заработать на POSIX платформах, но не забывайте, что ec
будет содержать платформозависимую ошибку. В Windows ошибка, скорее всего, будет ERROR_ALREADY_EXISTS
. (Хуже того, код не проверяет категорию кода ошибки, но мы поговорим об этом позже.)
Практическое правило: если вы вызываете error_code::value()
, то вы делаете что-то не так.
Итак у вас есть платформозависимый код ошибки (EEXIST
или ERROR_ALREADY_EXISTS
), который вы хотите сопоставить с [платформонезависимым] условием ошибки («каталог уже существует»). Да, правильно, вам нужен error_condition
.
Сравнение error_code и error_condition
Вот что происходит при сравнении объектов error_code
и error_condition
(то есть при использовании оператора == или оператора !=):
error_code
иerror_code
— проверяется точное соответствие.error_condition
иerror_condition
— проверяется точное соответствие.error_code
иerror_condition
— проверяется эквивалентность.
Я надеюсь, теперь очевидно, что вы должны сравнивать свой платформозависимый код ошибки ec
с объектом error_condition
, который представляет ошибку «каталог уже существует». Как раз для такого случая C++0x предоставляет std::errc::file_exists
. Это означает, что вы должны писать:
std::error_code ec;
create_directory("/some/path", ec);
if(std::errc::file_exists == ec)
...
Это работает потому что разработчик стандартной библиотеки определил эквивалентность между кодами ошибок EEXIST
или ERROR_ALREADY_EXISTS
и условием ошибки std::errc::file_exists
. Позже я покажу как вы можете добавить свои собственные коды ошибок и условия с соответствующими определениями эквивалентности.
(Обратите внимание, что, если быть точным, std::errc::file_exists
это одно из перечисляемых значений из enum class errc
. Пока что вы должны думать о перечисляемых значениях std::errc::*
как о метках для констант error_condition
. В следующей части я объясню как это работает.)
Как узнать, какие условия вы можете проверить?
Некоторые из новых библиотечных функций в C++0x имеют раздел «Условия ошибок». В подобных разделах перечисляются константы error_condition
и условия, при которых генерируются эквивалентные коды ошибок.
Немного истории
Первоначальный класс error_code
был предложен для TR2 как вспомогательный компонент в библиотеках файловой системы и сетевых библиотеках. В том дизайне константа error_code
была реализована так, чтобы она, по возможности, соответствовала платформозависимой ошибке. Если соответствие невозможно или существует несколько соответствий, реализация библиотеки переводит платформозависимую ошибку в стандартный error_code
.
В обсуждениях по электронной почте я узнал о ценности сохранения изначального кода ошибки. Впоследствии был прототипирован класс generic_error
, но он меня не устраивал. Удовлетворительное решение было найдено при переименовании generic_error
в error_condition
. По моему опыту, именование — одна из самых сложных проблем в области компьютерных наук, и выбор хорошего имени является основной работой.
В следующей части мы рассмотрим механизм, который заставляет enum class errc
работать как набор констант для error_condition
.
Часть 3
Перечисляемые значения как константы класса
Как мы видели, заголовочный файл <system_error>
определяет class enum errc
следующим образом:
enum class errc
{
address_family_not_supported,
address_in_use,
...
value_too_large,
wrong_protocol_type,
};
Перечисляемые значения которого являются константами для error_condition
:
std::error_code ec;
create_directory("/some/path", ec);
if(std::errc::file_exists == ec)
...
Очевидно, здесь используется неявное преобразование из errc
в error_condition
с помощью конструктора с одним аргументом. Просто. Верно?
Это не совсем так просто
Есть несколько причин, из-за которых всё немного сложнее:
- Перечисляемое значение указывает на саму ошибку, но для построения
error_condition
необходимо знать еще и категорию ошибки. Модуль<system_error>
использует категории для поддержки нескольких источников ошибок. Категория является атрибутом как дляerror_code
, так и дляerror_condition
. - Объект должен быть расширяемым. То есть пользователи (а также будущие расширения стандартной библиотеки) должны иметь возможность определять свои собственные константы.
- Объект должен поддерживать константы и для
error_code
и дляerror_condition
. Хотяenum class errc
предоставляет константы только дляerror_condition
, в других случаях использования могут потребоваться константы типаerror_code
. - Наконец, должно поддерживаться явное преобразование из перечисляемого значения в
error_code
илиerror_condition
. Портируемым программам может потребоваться создание кодов ошибок, унаследованных отstd::errc::*
.
Итак, хотя верно, что строка:
if(std::errc::file_exists == ec)
неявно преобразуется из errc
в error_condition
, есть еще несколько шагов.
Шаг 1: определить, является ли перечисляемое значение кодом ошибки или же условием
Для регистрации типов перечислений используются два шаблона:
template<class T>
struct is_error_code_enum:
public false_type {};
template<class T>
struct is_error_condition_enum:
public false_type {};
Если тип зарегистрирован с использованием is_error_code_enum<>
, то он может быть неявно преобразован в error_code
. Аналогично, если тип зарегистрирован с использованием is_error_condition_enum<>
, он может быть неявно преобразован в error_condition
. По умолчанию типы регистрируются без преобразования (отсюда и использование false_type
выше), но enum class errc
зарегистрирован следующим образом:
template<>
struct is_error_condition_enum<errc>:
public true_type {};
Неявное преобразование выполняется с помощью условно разрешенных конструкторов преобразования. Это, вероятно, реализовано с использованием SFINAE, но для простоты вам нужно думать об этом как:
class error_condition
{
...
//Only available if registered
//using is_error_condition_enum<>.
template<class ErrorConditionEnum>
error_condition(ErrorConditionEnum e);
...
};
class error_code
{
...
//Only available if registered
//using is_error_code_enum<>.
template<class ErrorCodeEnum>
error_code(ErrorCodeEnum e);
...
};
Поэтому, когда мы пишем:
if(std::errc::file_exists == ec)
Компилятор выбирает между этими двумя перегрузками:
bool operator ==
(
const error_code & a,
const error_code & b
);
bool operator ==
(
const error_code & a,
const error_condition & b
);
Он выберет последний, поскольку конструктор преобразования error_condition
доступен, а error_code
нет.
Шаг 2: сопоставить значение ошибки с категорией ошибки
Объект error_condition
содержит два атрибута: значение и категорию. Теперь, когда мы добрались до конструктора, они должны быть правильно инициализированы.
Это достигается благодаря конструктору имеющему вызов функции make_error_condition()
.
Возможность пользовательского расширение реализована с помощью ADL механизма. Конечно, поскольку errc
расположен в пространстве имен std
, ADL находит make_error_condition()
там же.
Реализация make_error_condition()
проста:
error_condition make_error_condition(errc e)
{
return error_condition
(
static_cast<int>(e),
generic_category()
);
}
Как вы можете видеть, эта функция использует конструктор error_condition
с двумя аргументами, чтобы явно указать как значение ошибки, так и категорию.
Если бы мы были в конструкторе преобразования error_code
(для правильно зарегистрированного типа перечисления), вызываемая функция была бы make_error_code()
. В остальном конструкция error_code
и error_condition
одинакова.
Явное преобразование в error_code или error_condition
Хотя error_code
в первую очередь предназначен для использования с платформозависимыми ошибками, переносимый код может захотеть создать error_code
из перечисляемого значения errc
. По этой причине предусмотрены [функции] make_error_code(errc)
и make_error_condition(errc)
. Переносимый код может использовать их следующим образом:
void do_foo(std::error_code & ec)
{
#if defined(_WIN32)
//Windows implementation ...
#elif defined(linux)
//Linux implementation ...
#else
//do_foo not supported on this platform
ec = make_error_code(std::errc::not_supported);
#endif
}
Еще немного истории
Изначально в <system_error>
константы error_code
были определены как объекты:
extern error_code address_family_not_supported;
extern error_code address_in_use;
...
extern error_code value_too_large;
extern error_code wrong_protocol_type;
LWG была обеспокоена издержками из-за большого количества глобальных объектов и запросила альтернативное решение. Мы исследовали возможность использования constexpr
, но в итоге это оказалось несовместимым с некоторыми другими аспектами <system_error>
. Таким образом осталось только преобразование из перечисления, так как это был лучший доступный дизайн.
Далее я начну показывать, каким образом вы можете добавить свои собственные коды ошибок и условия.
Часть 4
Создание собственных кодов ошибок
Как я уже сказал в первой части, одним из принципов <system_error>
является расширяемость. Это означает, что вы можете использовать только что описанный механизм, чтобы определить свои собственные коды ошибок.
В этом разделе я опишу, что вам нужно сделать. В качестве основы для рабочего примера предположим, что вы пишете HTTP библиотеку и вам нужны ошибки, соответствующее кодам состояния HTTP.
Шаг 1: определить значения ошибок
Сначала вам нужно определить набор значений ошибок. Если вы используете C++0x, вы можете использовать class enum
, аналогичный std::errc
:
enum class http_error
{
continue_request = 100,
switching_protocols = 101,
ok = 200,
...
gateway_timeout = 504,
version_not_supported = 505
};
Ошибкам присваиваются значения в соответствии с кодами состояния HTTP. Важность этого станет очевидной, когда дело дойдет до использования кодов ошибок. Независимо от того, какие значения вы выберете, ошибки должны иметь ненулевые значения. Как вы помните, объект <system_error>
использует соглашение, в котором нуль означает успех.
Вы можете использовать обычный (то есть C++03-совместимый) enum
, отбросив ключевое слово class
:
enum http_error
{
...
};
Примечание: class enum
отличается от enum
тем, что первый заключает имена перечисляемых значений в классовой области видимости [в то время как второй «выбрасывает» их в глобальную область видимости]. Чтобы получить доступ к перечисляемому значению, вы должны указать имя класса, например: http_error::ok
. Вы можете эмулировать это поведение, обернув обычный enum
в пространство имен [namespace
]:
namespace http_error
{
enum http_error_t
{
...
};
}
В оставшейся части этого примера я буду использовать enum class
. Применение подхода, использующего пространство имен, остается в качестве упражнения для читателя.
[Примечание переводчика: на самом деле, они отличаются не только областью видимости — enum class
так же запрещает неявное приведение перечисляемых значений к другим типам]
Шаг 2: определить класс error_category
Объект error_code
состоит из значения ошибки и категории. Категория ошибки определяет, что конкретно означает данное перечисляемое значение. Например, 100 может означать как http_error::continue_request
, так и std::errc::network_down
(ENETDOWN в Linux), а может и что-то другое.
Чтобы создать новую категорию, нужно отнаследовать класс от error_category
:
class http_category_impl:
public std::error_category
{
public:
virtual const char * name() const;
virtual std::string message(int ev) const;
};
На данный момент этот класс будет реализовывать только чистые виртуальные функции error_category
.
Шаг 3: дать категории человеко-читаемое имя
Виртуальная функция error_category::name()
должна возвращать строку, идентифицирующую категорию:
const char * http_category_impl::name() const
{
return "http";
}
Это имя не обязательно должно быть полностью уникальным, поскольку оно используется только при записи кода ошибки в std::ostream
. Однако было бы желательно сделать его уникальным в рамках данной программы.
Шаг 4: конвертировать коды ошибок в строки
Функция error_category::message()
преобразует значение ошибки в описывающую её строку:
std::string http_category_impl::message(int ev) const
{
switch(ev)
{
case http_error::continue_request:
return "Continue";
case http_error::switching_protocols:
return "Switching protocols";
case http_error::ok:
return "OK";
...
case http_error::gateway_timeout:
return "Gateway time-out";
case http_error::version_not_supported:
return "HTTP version not supported";
default:
return "Unknown HTTP error";
}
}
Когда вы вызываете функцию error_code::message()
, error_code
, в свою очередь, вызывает указанную выше виртуальную функцию для получения сообщения об ошибке.
Важно помнить, что эти сообщения об ошибках должны быть автономными. Они могут быть записаны (в файл лога, скажем) в той точке программы, где дополнительный контекст не доступен. Если вы обертываете существующий API, который использует сообщения об ошибках с «вставками», вам придется создавать свои собственные сообщения. Например, если HTTP API использует строку сообщения "HTTP version %d.%d not supported"
, эквивалентное автономное сообщение будет "HTTP version not supported"
.
Модуль <system_error>
не предоставляет никакой помощи, когда дело доходит до локализации этих сообщений. Вполне вероятно, что сообщения, исходящие из категорий ошибок стандартной библиотеки, будут основаны на текущей локали. Если в вашей программе требуется локализация, я рекомендую использовать тот же подход.
(Немного истории: LWG осознавала необходимость локализации, но не было никакого дизайна, который удовлетворительно согласовал локализацию с расширяемостью. Вместо того, чтобы собирать комитеты для решения этого вопроса, LWG предпочла ничего не говорить о локализации сообщений об ошибках в стандарте.)
Шаг 5: уникальная идентификация категории
Идентификатор объекта, унаследованного от error_category
, определяется его адресом. Это означает, что когда вы пишете:
const std::error_category & cat1 = ...;
const std::error_category & cat2 = ...;
if(cat1 == cat2)
...
Условие if
оценивается так, как если бы вы написали:
if(&cat1 == &cat2)
...
Следуя примеру, установленному стандартной библиотекой, вы должны предоставить функцию для возврата ссылки на объект категории:
const std::error_category & http_category();
Эта функция всегда должна возвращать ссылку на один и тот же объект. Один из способов это сделать — определить глобальный объект в файле исходного кода и возвращать ссылку на него:
http_category_impl http_category_instance;
const std::error_category & http_category()
{
return http_category_instance;
}
Тем не менее, глобальные переменные вызывают проблемы, связанные с порядком инициализации между модулями. Альтернативный подход заключается в использовании локальной статической переменной:
const std::error_category & http_category()
{
static http_category_impl instance;
return instance;
}
В этом случае объект категории инициализируется при первом использовании. C++0x также гарантирует, что инициализация потокобезопасна. (C++03 не давал такой гарантии).
История: На ранних этапах проектирования мы рассматривали использование целого числа или строки для идентификации категорий. Основная проблема с этим подходом заключалась в обеспечении уникальности в сочетании с расширяемостью. Если категория будет идентифицирована целым числом или строкой, что предотвратит коллизии между двумя несвязанными библиотеками? Using object identity leverages the linker in preventing different categories from having the same identity. Furthermore, storing a pointer to a base class allows us to make error_codes polymorphic while keeping them as copyable value types.
Шаг 6: построить error_code из enum
Как я показал в части 3, реализация <system_error>
требует функцию с названием make_error_code()
, чтобы связать значение ошибки с категорией. Для ошибок HTTP эта функция могла бы выглядеть следующим образом:
std::error_code make_error_code(http_error e)
{
return std::error_code
(
static_cast<int>(e),
http_category()
);
}
Для полноты картины вы также должны предоставить эквивалентную функцию для построения error_condition
:
std::error_condition make_error_condition(http_error e)
{
return std::error_condition
(
static_cast<int>(e),
http_category()
);
}
Поскольку реализация <system_error>
находит эти функции используя ADL, вы должны поместить их в то же пространство имен, что и тип http_error
.
Шаг 7: запись для неявного преобразования в error_code
Чтобы перечисляемые значения http_error
могли использоваться как константы error_code
, включите конструктор преобразования, используя шаблон is_error_code_enum
:
namespace std
{
template<>
struct is_error_code_enum<http_error>:
public true_type {};
}
Шаг 8 (опциональный): определить условия ошибок по умолчанию
Некоторые из описанных вами ошибок могут иметь аналогичные по смыслу условия ошибок из errc
. Например, код состояния HTTP 403 Forbidden означает то же самое, что и std::errc::permission_denied
.
Виртуальная функция error_category::default_error_condition()
позволяет определить условие ошибки, эквивалентное данному коду ошибки. (Определение эквивалентности было описано во второй части.) Для ошибок HTTP вы можете написать:
class http_category_impl:
private std::error_category
{
public:
...
virtual std::error_condition default_error_condition(int ev) const;
};
...
std::error_condition http_category_impl::default_error_condition(int ev) const
{
switch(ev)
{
case http_error::forbidden:
return std::errc::permission_denied;
default:
return std::error_condition(ev, *this);
}
}
Если вы решите не переопределять эту виртуальную функцию, то error_condition
будет имеет такую же ошибку и категорию как и error_code
. Это поведение по умолчанию, как в примере, показанном выше.
Использование кодов ошибок
Теперь вы можете использовать перечисляемые значения http_error
как константы error_code
, как при установке ошибки:
void server_side_http_handler
(
...,
std::error_code & ec
)
{
...
ec = http_error::ok;
}
так и при ее проверке:
std::error_code ec;
load_resource("http://some/url", ec);
if(http_error::ok == ec)
...
[Примечание переводчика: следует заметить, что при такой реализации не будет работать принцип о котором сказано выше — нулевое значение = успех — соответственно, приведение к bool
тоже не будет работать]
Поскольку значения ошибок основаны на кодах состояния HTTP, мы также можем установить error_code
непосредственно из ответа:
std::string load_resource
(
const std::string & url,
std::error_code & ec
)
{
//send request
...
//receive response
...
int response_code;
parse_response(..., &response_code);
ec.assign(response_code, http_category());
...
}
Кроме того, вы можете использовать этот метод при обертке ошибок, создаваемых уже существующей библиотекой.
Наконец, если вы определили отношение эквивалентности на шаге 8, вы можете написать:
std::error_code ec;
data = load_resource("http://some/url", ec);
if(std::errc::permission_denied == ec)
...
без необходимости знать точный источник условия ошибки. Как поясняется в части 2, изначальный код ошибки (например, http_error::forbidden
) сохраняется, так что никакая информация не теряется.
В следующей части я покажу как создавать и использовать error_condition
.
Часть 5
Создание собственных условий ошибок
Расширяемость модуля <system_error>
не ограничена кодами ошибок: error_condition
так же можно расширить.
Зачем создавать свои условия ошибок?
Чтобы ответить на этот вопрос, давайте вернемся к различиям между error_code
и error_condition
:
сlass error_code
— представляет собой конкретное значение ошибки, возвращаемое операцией (например, системным вызовом).class error_condition
— что-то, что вы хотите проверить и, возможно, среагировать на это в своем коде.
Это предлагает некоторые варианты использования для пользовательских условий ошибок:
- Абстракция платформозависимых ошибок.
Предположим, вы пишете переносимую обертку вокругgetaddrinfo()
. Два интересных условия ошибки: предварительная «имя не разрешается в данный момент, повторите попытку позже» и точная «имя не разрешено». Функцияgetaddrinfo()
сообщает об этих ошибках следующим образом:- На платформах POSIX это ошибки
EAI_AGAIN
иEAI_NONAME
, соответственно. Значения ошибок находятся в отдельном «пространстве имен» для значений errno. Это означает, что вам придется внедрить новуюerror_category
для них. - В Windows это ошибки
WSAEAI_AGAIN
иWSAEAI_NONAME
. Хотя имена похожи на ошибки POSIX, они разделяют «пространство имен»GetLastError()
. Следовательно, вы можете повторно использоватьstd::system_category()
для представления ошибокgetaddrinfo()
на этой платформе.
Чтобы избежать утраты информации, вы хотите сохранить изначальный код платформозависимой ошибки, одновременно предоставляя два условия ошибки (называемые, скажем,
name_not_found_try_again
иname_not_found
), которые могут быть проверены пользователями API. - На платформах POSIX это ошибки
- Представление контекстозависимых значений для общих кодов ошибок.
Большинство системных вызовов POSIX используют errno для сообщения об ошибках. Вместо того, чтобы определять новые коды ошибок для каждой функции, используются одни и те же коды, и вам может потребоваться просмотреть соответствующую страницу руководства, чтобы определить значение. Если вы реализуете свои собственные абстракции поверх этих системных вызовов, этот контекст теряется для пользователя.Скажем, вы хотите реализовать простую базу данных, где каждая запись хранится в отдельном файле. Когда вы пытаетесь прочитать запись, база данных вызывает
open()
для доступа к файлу. Эта функция устанавливает errno вENOENT
, если файл не существует.Поскольку механизм хранения базы данных абстрагируется от пользователя, было бы удивительно просить их проверять условие
no_such_file_or_directory
. Вместо этого вы можете создать собственное контекстозависимое условие ошибкиno_such_entry
, эквивалентноеENOENT
. - Проверка набора связанных ошибок.
По мере роста вашей кодовой базы вы можете обнаружить, что один и тот же набор ошибок проверяется снова и снова. Возможно, вам нужно отреагировать на нехватку системных ресурсов:not_enough_memory
resource_unavailable_try_again
too_many_files_open
too_many_files_open_in_system
- …
в нескольких местах, но последующее действие отличается в каждой точке использования. Это показывает, что существует более общее условие: «не хватает системных ресурсов», которое вы хотите проверить и отреагировать на него в своем коде.
Пользовательское условие ошибки
low_system_resources
может быть определено таким образом, чтобы его эквивалентность основывалась на сочетании других условий ошибки. Это позволит писать вам проверки следующим образом:if(low_system_resources == ec) ...
и таким образом исключить повторение отдельных проверок.
Как вы увидите ниже, определение error_condition
аналогично определению error_code
.
Шаг 1: определить значения ошибок
Вам нужно создать enum
для значений ошибок, аналогично std::errc
:
enum class api_error
{
low_system_resources = 1,
...
name_not_found,
...
no_such_entry
};
Фактические значения, которые вы используете, не важны, но вы должны убедиться, что они различны и отличны от нуля.
Шаг 2: определить класс error_category
Объект error_condition
состоит из значения ошибки и категории. Чтобы создать новую категорию, нужно отнаследовать класс от error_category
:
class api_category_impl:
public std::error_category
{
public:
virtual const char * name() const;
virtual std::string message(int ev) const;
virtual bool equivalent(const std::error_code & code, int condition) const;
};
Шаг 3: дать категории человеко-читаемое имя
Виртуальная функция error_category::name()
должна возвращать строку, идентифицирующую категорию:
const char * api_category_impl::name() const
{
return "api";
}
Шаг 4: конвертировать условия ошибок в строки
Функция error_category::message()
преобразует значение ошибки в описывающую её строку:
std::string api_category_impl::message(int ev) const
{
switch(ev)
{
case api_error::low_system_resources:
return "Low system resources";
..
}
}
Однако, в зависимости от вашего варианта использования, вызов error_condition::message()
может быть маловероятным. В этом случае вы можете воспользоваться сокращением и просто написать:
std::string api_category_impl::message(int ev) const
{
return "api error";
}
Шаг 5: реализовать эквивалентность ошибок
Виртуальная функция error_category::equivalent()
используется для определения эквивалентности кодов ошибок и условий. Есть две перегрузки этой функции. Первая:
virtual bool equivalent(int code, const error_condition & condition) const;
используется для установления эквивалентности между error_code
в текущей категории и произвольными error_condition
. Вторая перегрузка:
virtual bool equivalent(const error_code & code, int condition) const;
определяет эквивалентность между error_condition
в текущей категории и произвольными error_code
. Поскольку вы создаете условия ошибки, вам нужно переопределить вторую перегрузку.
Определение эквивалентности простое: верните true
, если вы хотите, чтобы error_code
был эквивалентен вашему условию, иначе верните false
.
Если вы намерены абстрагироваться от платформозависимых ошибок, вы можете реализовать error_category::equivalent()
следующим образом:
bool api_category_impl::equivalent(const std::error_code & code, int condition) const
{
switch(condition)
{
...
case api_error::name_not_found:
#if defined(_WIN32)
return code == std::error_code(WSAEAI_NONAME, system_category());
#else
return code == std::error_code(EAI_NONAME, getaddrinfo_category());
#endif
...
default:
return false;
}
}
(Очевидно, что getaddrinfo_category()
тоже нужно где-то определить.)
Проверки могут комплексными, а так же могут повторно использовать другие константы error_condition
:
bool api_category_impl::equivalent(const std::error_code & code, int condition) const
{
switch(condition)
{
case api_error::low_system_resources:
return code == std::errc::not_enough_memory
|| code == std::errc::resource_unavailable_try_again
|| code == std::errc::too_many_files_open
|| code == std::errc::too_many_files_open_in_system;
...
case api_error::no_such_entry:
return code == std::errc::no_such_file_or_directory;
default:
return false;
}
}
Шаг 6: уникальная идентификация категории
Вы должны определить функцию для возврата ссылки на объект категории:
const std::error_category & api_category();
которая всегда возвращает ссылку на один и тот же объект. Как и в случае с кодами ошибок, вы можете использовать глобальную переменную:
api_category_impl api_category_instance;
const std::error_category & api_category()
{
return api_category_instance;
}
или вы можете использовать статические потокобезопасные переменные из C++0x:
const std::error_category & api_category()
{
static api_category_impl instance;
return instance;
}
Шаг 7: построить error_condition из enum
Реализация <system_error>
требует функцию с названием make_error_code()
, чтобы связать значение ошибки с категорией:
std::error_condition make_error_condition(api_error e)
{
return std::error_condition
(
static_cast<int>(e),
api_category()
);
}
Для полноты картины вам также необходимо определить эквивалентную функцию для построения error_code
. Я оставлю это как упражнение для читателя.
Шаг 8: запись для неявного преобразования в error_condition
Наконец, чтобы перечисляемые значения api_error
могли использоваться как константы error_condition
, включите конструктор преобразования, используя шаблон is_error_condition_enum
:
namespace std
{
template<>
struct is_error_condition_enum<api_error>:
public true_type {};
}
Использование условий ошибок
Теперь перечисляемые значения api_error
могут использоваться как константы error_condition
, так же как те, которые определены в std::errc
:
std::error_code ec;
load_resource("http://some/url", ec);
if(api_error::low_system_resources == ec)
...
Как я уже несколько раз говорил, изначальный код ошибки сохраняется и информация не теряется. Не имеет значения, пришел ли этот код ошибки из операционной системы или из библиотеки HTTP со своей собственной категорией ошибок. Ваши пользовательские условия ошибки смогут одинаково хорошо работать в любом случае.
В следующей, вероятно, последней, части я расскажу как создавать API, которые используют <system_error>
.
Послесловие
Увы, несмотря на обещания автора, цикл статей не был закончен. Следующая часть так и не вышла. И уже вряд ли выйдет.