Обрабатываемые ошибки в Visual Basic

Обновлен: Ноябрь 2007

Структурированная модель обработки исключений в Visual Basic является более полезной в разработке приложений, также можно использовать неструктурированную обработку ошибок, особенно при обновлении устаревших приложений. Для обнаружения определенных ошибок и ответов на них можно использовать Оператор On Error (Visual Basic).

Перехватываемые ошибки

Перехватываемые ошибки могут возникнуть во время выполнения приложения. Некоторые из подобных ошибок могут возникнуть в процессе разработки или во время компиляции. С помощью оператора On Error и Объект Err (Visual Basic) можно протестировать и обработать перехватываемые ошибки.

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

Код

Сообщение

0

Нет ошибки

3

Возвращение без GoSub (устаревшее, больше не используется)

5

Вызов процедуры или аргумент не является допустимым (Visual Basic)

6

Переполнение (ошибка Visual Basic)

Переполнение (Ошибка во время выполнения Visual Basic)

7

Недостаточно памяти (Ошибка компилятора Visual Basic)

Недостаточно памяти (ошибка времени выполнения Visual Basic)

9

Индекс вне диапазона (Visual Basic)

10

Массив имеет фиксированный размер или временно заблокирован (Visual Basic)

11

Деление на ноль (Ошибка времени выполнения Visual Basic)

13

Несоответствие типа (Visual Basic)

14

Отсутствует место в строке (Visual Basic)

16

Слишком сложное выражение

17

Не удается выполнить запрошенную операцию (Visual Basic)

18

Произошло вмешательство пользователя

20

Выполнение оператора Resume без ошибки

28

Отсутствует место в стеке (Visual Basic)

35

Sub или Function не определена (Visual Basic)

47

Слишком много клиентов DLL-приложения

48

Ошибка при загрузке библиотеки DLL (Visual Basic)

49

Недопустимое соглашение при вызове DLL

51

Внутренняя ошибка (Visual Basic)

52

Недопустимое имя файла или номер

53

Файл не найден (Ошибка времени выполнения Visual Basic)

54

Недопустимый режим файла

55

Файл уже открыт

57

Ошибка ввода-вывода устройства

58

Файл уже существует

59

Недопустимая длина записи

61

Диск заполнен (Visual Basic)

62

Оператор Input обнаружил конец файла

63

Недопустимый номер записи

67

Слишком много файлов

68

Устройство недоступно

70

Доступ запрещен (Visual Basic)

71

Диск не готов

74

Не удается переименовать с указанием другого диска

75

Ошибка доступа к пути/файлу

76

Путь не найден

91

Не задана переменная объекта или переменная блока With

92

Цикл For не инициализирован (Visual Basic)

93

Недопустимая строка шаблона

94

Недопустимое использование Null (устаревшее, больше не используется)

95

Ошибка, определенная приложением или объектом

96

Невозможно принять события объекта, потому что объект уже инициировал события для максимального поддерживаемого числа получателей событий

97

Не удается вызвать дружественную функцию объекта, который не является экземпляром определяющего класса

98

Нельзя включить ссылку на закрытый объект при вызове свойства или функции в качестве аргумента или возвращаемого значения

100

Класс <имяКласса> не реализует интерфейс System.Collections.ICollection

298

Не удалось загрузить системный ресурс или DLL

320

Нельзя использовать буквы дисков в указанных именах файлов

321

Недопустимый формат файла

322

Не удается создать требуемый временный файл

325

Недопустимый формат в файле ресурса

327

Именованное значение данных не найдено

328

Недопустимый параметр; не удается записать массивы

335

Не удается получить доступ к реестру системы

336

Неправильно зарегистрирован компонент ActiveX

337

Компонент ActiveX не найден

338

Компонент ActiveX не был запущен правильно

360

Объект уже загружен

361

Не удается загрузить или выгрузить этот объект

363

Указанный элемент управления ActiveX не найден

364

Объект был выгружен

365

Не удалось выгрузить в этом контексте

368

Указанный файл является устаревшим

371

Указанный объект не может быть использован как владелец формы для Show

380

Недопустимое значение свойства

381

Недопустимый индекс массива свойства

382

Установка значения не поддерживается во время выполнения

383

Установка не поддерживается (свойство только для чтения)

385

Требуется индекс массива свойства

387

Задание не разрешено

393

Считывание значения свойства не поддерживается во время выполнения

394

Считывание значения свойства не поддерживается (свойство доступно только для записи)

400

Форма уже отображена; не удается показать модально

402

Код сначала должен закрыть верхнюю модальную форму

422

Свойство не найдено

423

Свойство или метод не найдены

424

Требуется объект (Visual Basic)

429

Не удается создать компонент ActiveX

430

Класс не поддерживает автоматизацию или не поддерживает ожидаемый интерфейс

432

Имя файла или класса не найдено в ходе выполнения операции автоматизации (Visual Basic)

438

Объект не поддерживает данное свойство или метод (Visual Basic)

440

Ошибка автоматизации

442

Потеряна связь с библиотекой типов или объектов для удаленного процесса

443

Объект автоматизации не имеет значения по умолчанию

445

Объект не поддерживает это действие (Visual Basic)

446

Объект не поддерживает именованные аргументы

447

Объект не поддерживает текущую настройку языковых стандартов (Visual Basic)

448

Именованный аргумент не найден (Visual Basic)

449

Аргумент не является обязательным (Visual Basic)

450

Неправильное количество аргументов или недопустимое назначение свойства

451

Процедура свойства let не определена, а процедура свойства get не вернула объект

452

Недопустимый порядковый номер

453

Не найдена указанная DLL-функция

454

Не найден источник кода

455

Ошибка блокировки источника кода

457

Ключ уже связан с элементом коллекции

458

Переменная использует тип автоматизации, не поддерживаемый в Visual Basic

459

Объект или класс не поддерживает набор событий

460

Недопустимый формат буфера обмена

461

Метод или элемент данных не найден

462

Удаленный сервер не существует или недоступен (Visual Basic)

463

Класс не зарегистрирован на локальном компьютере

481

Недопустимое изображение

482

Ошибка принтера

735

Не удается сохранить файл в каталоге TEMP

744

Искомый текст не найден

746

Слишком длинный текст замещения

999

Обнаружен оператор Stop

32768

Нереализованная возможность

Сообщение Ошибка, определенная приложением или объектом применяется к коду ошибки, которую Visual Basic не распознает.

См. также

Задачи

Устранение неполадок при обработке исключений

Основные понятия

Введение в обработку исключений

Обзор неструктурной обработки исключений

Выбор между структурной и неструктурной обработкой исключений

Ссылки

Оператор On Error (Visual Basic)

Объект Err (Visual Basic)

Другие ресурсы

Структурная обработка исключений в Visual Basic