مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

خارج شدن از درونی ترین تابع هنگام وقوع خطا

چهارشنبه, 14 آذر 1397 12:10

خارج شدن از درونی ترین تابع هنگام وقوع خطا

سلام من یه تابع دارم که داخلش یه تابع دیگرو فراخوانی کردم هر دو تابع Try گذاشتم ولی مشکل اینجاست تابع داخلی که به خطا میخوره میره خطاشو تو بانک ثبت میکنه و برمیگرده تابع اصلی و میره تو تابع اصلی بازهم خطا ثبت میکنه

میخوام وقتی داخلی خطا داد دیگه نره تو تابع اصلی راه حل چیه؟

چهارشنبه, 14 آذر 1397 13:28

کدتون رو قرار بدید.

چهارشنبه, 14 آذر 1397 14:51

این تیپی زیاد دارم به صورت سمپل یدونه میذارم

        protected void ConfirmBtn_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.Page != null)
                {
                    connDB.Open();
                    ComInsert = new SqlCommand(StoreP, connDB);
                    ComInsert.CommandType = CommandType.StoredProcedure;
                    ComInsert.CommandText = StoreP;
                    ComInsert.Parameters.AddRange(GetAllParameters());
                    sqlDbType = new System.Data.SqlDbType();
                    ComInsert.Connection = connDB;
                    ComInsert.ExecuteNonQuery();
                    connDB.Close();
                    SubFunction();

            }
            catch (Exception ex)
            {
                Massege.Erorr_Code = "خطا " + iErrorId.ToString();
            }
        }
  private void SubFunction()
        {
            try
            {
                connDB.Open();
                ComInsert = new SqlCommand(Sp, connDB);
                ComInsert.CommandType = CommandType.StoredProcedure;
                ComInsert.CommandText = Sp;
                ComInsert.Connection = connDB;
                foreach (DataRow r in dt.Rows)
                {
                    ComInsert.Parameters.Clear();
                    ComInsert.Parameters.AddWithValue("@test", 'test');
                    ComInsert.ExecuteNonQuery();
                }
                connDB.Close();
            }
            catch (Exception ex)
            {
                Massege.Erorr_Code = "خطا " + iErrorId.ToString();
            }
        }

توی تابع SubFunction به خطا میخوره میره تو Catch یه کد داره خطاشو اون تو ذخیره میکنه و برمیگرده تو تابع اصلیمم اونجا دوباره یه خطا مربوط به خودشو ذخیره میکنه

میخوام تو تابع SubFunction که خطا خورد و ذخیره کرد دیگه بر نگرده تو تابع اصلی

ﺳﻪ شنبه, 20 آذر 1397 14:21

کسی نمیدونه اینو؟؟؟؟؟؟؟؟؟؟؟

ﺳﻪ شنبه, 20 آذر 1397 14:25

منظورتون اینه که بعد از catch کردن به صورت کامل از متد خارج بشه ؟

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید