La más sencilla que se me ocurre es que utilices:
Código Delphi
[-]Table1.FieldByName('Dni').AsInteger:=StrToInt(Edit3.Text, 0);
Si es incorrecto te guardará un 0 en lugar de fallar.
Otra opción es que compruebes el contenido antes de intentar guardarlo, para avisar al usuario.
Aun puedes utilizar otra similar:
TryStrToInt