Стандартные классы исключений

Стандартные классы исключений

Все классы исключений являются потомками класса System.Exception, включающего следующий интерфейс:

type

Exception = class

public

constructor Create;

constructor Create(message: string);

property Message: string; // только на чтение

property StackTrace: string; // только на чтение

end;

Свойство Message возвращает сообщение, связанное с объектом исключения.

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

Ниже приводятся некоторые классы исключений, определенные в пространстве имен System и являющиеся производными от класса System.SystemException:

System.OutOfMemoryException - недостаточно памяти для выполнения программы;

System.StackOverflowException - переполнение стека (как правило, при многократных вложенных вызовах подпрограмм);

System.AccessViolationException - попытка доступа к защищенной памяти;

System.ArgumentException - неверное значение параметра подпрограммы;

System.ArithmeticException - базовый класс всех арифметических исключений. Наследники:

System.DivideByZeroException - целочисленное деление на 0;

System.OverflowException - переполнение при выполнении арифметической операции или преобразования типов;

System.FormatException - неверный формат параметра (например, при преобразовании строки в число);

System.IndexOutOfRangeException - выход за границы диапазона изменения индекса массива;

System.InvalidCastException - неверное приведение типов;

System.NullReferenceException - попытка вызвать метод для нулевого объекта или разыменовать нулевой указатель;

System.IO.IOException - ошибка ввода-вывода. Наследники:

System.IO.IOException.DirectoryNotFoundException - каталог не найден;

System.IO.IOException.EndOfStreamException - попытка чтения за концом потока;

System.IO.IOException.FileNotFoundException - файл не найден.