исключения
 Добавлено: 14.10.2007 15:13:40
Добавлено: 14.10.2007 15:13:40От хорошей ли жизни появились исключения, точнее механизмы для их обработки и генерирования?
Возможно следует отказаться от директив try, finally, except, raise вообще, либо в пользу обработки ошибок на более "высоком уровне", например за счет переопределения специальных методов класса (я пока использую термин класс, но не обязательно он сохранится :-) или использония других техник на уровне класса.
Можно так:
Или так:
Или так:
Что думаете?
..bw
			Возможно следует отказаться от директив try, finally, except, raise вообще, либо в пользу обработки ошибок на более "высоком уровне", например за счет переопределения специальных методов класса (я пока использую термин класс, но не обязательно он сохранится :-) или использония других техник на уровне класса.
Можно так:
- Код: Выделить всё
- type
 MyObject = class
 function MyMethod: Integer;
 function __exception__(error: Exception);
 end;
Или так:
- Код: Выделить всё
- type
 MyObject = class
 function MyMethod: Integer; except MyExceptionHandler;
 end;
 function MyObject.MyExceptionHandler(error: Exception): Integer;
 begin
 end;
Или так:
- Код: Выделить всё
- type
 MyObject = class
 function MyMethod: Integer;
 end;
 function MyObject.MyMethod: Integer;
 begin
 ...
 except
 ...
 finally
 ...
 end;
Что думаете?
..bw
 . По идее этот тип ошибок должен быть очень редким и уж точно не появляться несколько раз на метод.
. По идее этот тип ошибок должен быть очень редким и уж точно не появляться несколько раз на метод.