سلام من یه تابع دارم که داخلش یه تابع دیگرو فراخوانی کردم هر دو تابع Try گذاشتم ولی مشکل اینجاست تابع داخلی که به خطا میخوره میره خطاشو تو بانک ثبت میکنه و برمیگرده تابع اصلی و میره تو تابع اصلی بازهم خطا ثبت میکنه
میخوام وقتی داخلی خطا داد دیگه نره تو تابع اصلی راه حل چیه؟
کدتون رو قرار بدید.
این تیپی زیاد دارم به صورت سمپل یدونه میذارم
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 که خطا خورد و ذخیره کرد دیگه بر نگرده تو تابع اصلی
کسی نمیدونه اینو؟؟؟؟؟؟؟؟؟؟؟
منظورتون اینه که بعد از catch کردن به صورت کامل از متد خارج بشه ؟
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)