C# projemizde ... proğram çalışmayı durdurdu hatası'nın Çözümü

Posted by Unknown On 11 Şubat 2015 Çarşamba 8 yorum

   Evet arkadaşlar farkındayım çok gıcık bir hata. Proğramı bitiriyoruz heycanla setup alıyoruz ( kendi bilgisayarımızda mükemmel çalışıyor ) diğer bilgisayara bir yüklüyoruz o da ne Windows ... proğramı çalışmayı durdurdu bilmem ne. Ve hatamız ne onuda bilmiyoruz sonra hatayı bul bulabilirsen.

   Şimdi ben bu yazımda size direk hatanız şudur demiyeceğim daha doğrusu diyemiyeceğim. Çünkü bunun bir çok sebebi var. Mesela freamworkler hatalıdır ya da ne bileyim gerekli componentleri setup dosyasına eklememişsindir falan filan..

Peki hatayı nasıl gidereceğiz?

  Şimdi arkadaşlar hatayı giderebilmemiz için öncelikle hatanın ne olduğunu bilmeliyiz. Ben size hatanın ne olduğunu bize söyleyen kodu yazmanızı sağlıyacam böylelikle karşınıza proğram çalışmayı durdurdu diye bir hata çıkmayacak ta hata şu şu bunun için proğram bu bilgisayarda çıkmıyor diyecek.

Kodlar; (program.cs ye eklenicek hatta size son halini paylaşıyorum )

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace kasadefterim
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            AppDomain.CurrentDomain.UnhandledException +=
        new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
            Application.ThreadException +=
              new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new splash());
        }

        static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            try
            {
                Exception ex = (Exception)e.ExceptionObject;

                MessageBox.Show("Hoops! Lütfen proğram geliştiricinizle iletişime geçiniz. "
                   + "Hata Bilgisi:\n\n" + ex.Message + ex.StackTrace,
                   "Fatal Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
            finally
            {
                Application.Exit();
            }
        }

        public static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
        {
            DialogResult result = DialogResult.Abort;
            try
            {
                result = MessageBox.Show("Hoops! Lütfen proğram geliştiricinizle iletişime geçiniz. "
                   + "Hata Bilgisi:\n\n" + e.Exception.Message
                  + e.Exception.StackTrace, "Application Error",
                  MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Stop);
            }
            finally
            {
                if (result == DialogResult.Abort)
                {
                    Application.Exit();
                }
            }
        }
    }
}

Evet arkadaşlar proğram.cs nizin son hali bu şekilde olacak gerekli düzenlemeeri yapabilirsiniz. Bu sayede hatanın ne olduğunu anlayıp daha kolay giderebiliyoruz. Örneğin benim hatam SQLite.dll yi setup a dahil etmemişim. Ayrıca setup alırken uyarı kısımlarını dikkate alın çünkü benim hatam orda da yazıyormuş :)


8 yorum:

Unknown dedi ki...

merhaba yazmıs oldugunuz programı sıradan biri nasıl çalıştırabilir

Unknown dedi ki...

Merhabalar siradan biri derken anliyamadim ? Bu raz bi hata mi aliosunuz ?

Unknown dedi ki...

Merhabalar siradan biri derken anliyamadim ? Bu raz bi hata mi aliosunuz ?

TwoTreesTurkiye dedi ki...

Merhabalar http://image.prntscr.com/image/4d3193d40c614d249836738164333385.png böylebir hata karşısında önerileriniz nedir.

Unknown dedi ki...

column adını id die göndermişsin ancak id aldı sütun yok tablonda sanırım

Unknown dedi ki...

Merhabalar kodu cs ye ekledim hatayı da aldım ancak. Bu kodda tanımladıgımız MessageBox cıkmadı.

Ufuk dedi ki...

çok çok işime yaradı, kafayı yiyecektim az daha
teşekkürler

anymous dedi ki...

çok çok sağoulun :)

Yorum Gönder