//Hata kontrolünü bu alanda yapıyoruz. public void HataGonder(HataLog h) { con = new SqlConnection(adress); //Hatanın satır numarasına erişme için true değeri veriliyor. StackTrace st = new StackTrace(true); foreach (StackFrame frame in st.GetFrames()) { string path3 = @"C:\Users\www\Source\Repos\Heddiye-v2-13\HProgram.cs"; string result; result = Path.GetFileName(path3).Split(Path.DirectorySeparatorChar).Last(); if (!string.IsNullOrEmpty(frame.GetFileName())) { con.Execute("insert into HataLoglari (DosyaAdi,MethodAdi,LineNumber,ColumnNumber,message) values (@DosyaAdi,@MethodAdi,@LineNumber,@ColumnNumber,@message)", new { @DosyaAdi = result, @MethodAdi = frame.GetMethod().ToString(), @LineNumber = frame.GetFileLineNumber(), @ColumnNumber = frame.GetFileColumnNumber(), @message = h.message }); } } }
private void button1_Click(object sender, EventArgs e) { //BusinessLogicLayer sınıfından nesnemizi new ettik. bll = new BusinessLogicLayer(); DataTable dt; try { dt = bll.ULComboControl(cmbCinsiyet.Text, cmbYasAraligi.Text, cmbBurc.Text, cmbHediyeAmac.Text, cmbYakinlikDerecesi.Text); libUrunler.DataSource = dt; libUrunler.DisplayMember = "UrunAdi"; libUrunler.ValueMember = "UrunId"; } catch (Exception ex) { //oluşan hataları database gönderir HataLog h = new HataLog(); h.message = ex.StackTrace; bll.HataGonder(h); MessageBox.Show("Seçtiğiniz bilgilere ait ürün bilgiler bulunmamaktadır. "); } // bll sınıfındaki ULCombo kontrol fonksiyonu cağırıldı gelen datatable yeni oluşturaln data // tableye atıldı }
public void HataGonder(HataLog ex) { //hatalogunu dataaccesslayerdan alarak form ekranında kullanmak için bu method yazıldı. dal.HataGonder(ex); }