ورود

View Full Version : خبر: مدیریت خطاها در هنگام اجرای فرامین SQL



K.Mohammadreza
چهارشنبه 30 اردیبهشت 1388, 17:48 عصر
من بر ای مدیریت خطا یا اکسکپشن ها به همگان استفاده از حلقه try را پیشنهاد می کنم چون واقعا کاربردی و جامع است. نه تنها برای مورد بلکه در موارد دیگر هم پیشنهاد می کنم مثلا تبدیل رشته به عدد اگر نمی دانیم کاربر واقعا عدد وارد کرده و یا کاراکترهای غیر مجاز.
یک مثال: زمانی که می خواهیم به یک آپدیت در جدول داشته باشیم.


try
adoCommand1.commandtext := 'UPDATE tblLog SET LDate = ' + Quotedstr(DateTostr(Now));
adocommand1.Excute;
except
on e: Exception do
begin
showmessage('have a erroe');
Application.Terminate;
end;
end;

merced
چهارشنبه 30 اردیبهشت 1388, 23:11 عصر
try
adoCommand1.commandtext := 'UPDATE tblLog SET LDate = ' + Quotedstr(DateTostr(Now));
adocommand1.Excute;
except
on e: Exception do
begin
showmessage('have a erroe' +chr(13)+ e.Message);
Application.Terminate;
end;
end;

zman123456
دوشنبه 18 خرداد 1388, 09:03 صبح
چطور میشه پیغام ها رو فیلتر کرد؟
مثلا برای برخی پیغام ها یک پیغام و برای برخی دیگر پیغام مخصوص خود.
اگر اینطوری برنامه نویسی بشه برای کلیه error ها یک پیغام نمایش داده می شود.البته درسته که پیغام خطای انگلیسی نمایش داده می شود ولی برای کاربر گویا نیست و کار برنامه نویس در جوابگویی به مشتری را راحت تر می کند.

merced
دوشنبه 18 خرداد 1388, 22:46 عصر
try
...
except
on EZeroDivide do HandleZeroDivide;
on EOverflow do HandleOverflow;
on EMathError do HandleMathError;
end;