Все классы исключений являются потомками класса System.Exception,
включающего следующий интерфейс:
type
Exception = class
public
constructor Create;
constructor Create(message: string);
property Message: string; // только на чтение
propertyStackTrace: 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- файл не найден.