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

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

کاربر سایت

mohammadd

عضویت از 1395/12/08

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

  • چهارشنبه 14 آذر 1397
  • 12:10
تشکر میکنم

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

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

پاسخ های این پرسش

تعداد پاسخ ها : 4 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

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

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

کاربر سایت

mohammadd

عضویت از 1395/12/08

  • چهارشنبه 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 که خطا خورد و ذخیره کرد دیگه بر نگرده تو تابع اصلی

کاربر سایت

mohammadd

عضویت از 1395/12/08

  • سه شنبه 20 آذر 1397
  • 14:21

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

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • سه شنبه 20 آذر 1397
  • 14:25

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

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)