PDA

View Full Version : مبتدی: کد خطا



ssvvpp
دوشنبه 30 دی 1392, 10:05 صبح
سلام
در ترای , کچ چطور میتوان کد خطا را در متغییری ذخیره کرد و بعد با استفاده از آن متغییر تصمیمی گرفت؟


cl.creatconnection();
cl.command.CommandText = "Insert into tbl_dars values(" + txtcod.Text + ", '" + txtdars.Text.ToString() + "')";
try
{
result=cl.command.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show("خطا در انجام عملیات رخ داده است" + Environment.NewLine + "دوباره سعی کنید", "ثب", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}



در کد بالا اگر خطایی رخ دهد پیام "خطا در انجام عملیات رخ داده است" نمایش داده می شود هر گونه خطایی باشد و ما علت خطا را نمی ذانیم می خواهم کد خطا را بدانم (مثلا اکه در داده را برای فیلد کلید اصلی تکراری واردکردیم پیام دهد کد تکراری است)
اگر ما بتونیم کد خطا رو بدست بیاریم می تونیم در chatch چنین بنویسیم



catch (Exception ex)
{
int k=کد خطا;
if(k==709)
{
MessageBox.Show("رکورد تکراری" + Environment.NewLine + "دوباره سعی کنید", "ثب", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}
if(k==900)
{
essageBox.Show("ارتباط با بانک برقرار نشد" + Environment.NewLine + "دوباره سعی کنید", "ثب", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
{

کد خطا بالا فرضی هستند
حالا من باید چی کار کنم؟

hamid_hr
دوشنبه 30 دی 1392, 10:27 صبح
catch (Exception e){

var w32ex = e as Win32Exception;
if(w32ex == null) {
w32ex = e.InnerException as Win32Exception;
}
if(w32ex != null) {
int code = w32ex.ErrorCode;
// do stuff
}
// do other stuff
}
منبع
http://stackoverflow.com/questions/6893165/how-to-get-exception-error-code-in-c-sharp

ssvvpp
دوشنبه 30 دی 1392, 16:41 عصر
این قطعه کد همش وارد if اول میشه یکی کمک کن:گریه::گریه::گریه::گریه::گر ه::گریه::گریه::گریه::گریه::گر ه::گریه::گریه::گریه::گریه:

fmehrvarzi
دوشنبه 30 دی 1392, 17:19 عصر
این یک مثال خوبه
ابتدا یک کلاس به کدت اضافه میکنی و سپس هر کجا که احتیاج داشتی از تابع LineNumber برا گرفتن کد استفاده میکنی
http://stackoverflow.com/questions/8338495/how-to-get-error-line-number-of-code-using-try-catch?rq=1