Пишу прогу, где надо считывать много иныфы из текстовых полей, посимвольную проверку ввода делать не хочу (долго, можно что-то не предусмотреть, т.д.), решил сделать через try.
Код:
type
TEditPointer = ^TEdit;
function EditToByte(LocalEditPointer: TEditPointer; var a: byte): boolean;
var b: integer;
begin
EditToByte:=true;
try
b:=StrToInt(LocalEditPointer.Text);
if b>255 then
EditToByte:=false
else
try
a:=b;
except
on E: Exception do
EditToByte:=false;
end;
except
on E: Exception do
EditToByte:=false;
end;
end;
В результате при записи нормальных чисел всё ок, но при вводе кракозябр программа завершается с исключением, как будто я и не писал try.
Первый раз работаю с этой конструкцией в делфи, потому ошибка наверняка какая-то глупая, но, хоть убей, не могу ее найти.