Feedback

Fehlermeldung in E-Mail oder txt-Datei speichern

Fehler““

        //using System.Net;
        //using System.Net.Mail;
        //using System.IO;

        private void fehler(Exception ex)
        {
            //Variablen initialisieren
            string Name = "Max"; //Wichtig für die Fehlermeldung an den Benutzer

            //Um eine E-Mail an Ihr Konto zu schicken, benötigen Sie einen zweiten Account, von dem Sie aus die Nachricht versenden
            string EMailadresse = "beispiel@gmail.com"; //E-Mail-Adresse, von der aus die Nachricht gesendet wird
            string Passwort = "passwort"; //Passwort der E-Mail-Adresse, von der aus die Nachricht gesendet wird
            string Host = "smtp.googlemail.com"; //SMTP-Server des E-Mailanbieters (http://www.patshaping.de/hilfen_ta/pop3_smtp.htm)
            int Port = 587; //Port des E-Mailanbieters


            string EMailadresse_Empfänger = "beispiel2@gmail.com"; //E-Mail-Adresse, an die die Nachricht gesendet wird

            //Zusammenfassung der Fehlermeldung
            string Fehlermeldung = ex.ToString();
            Fehlermeldung = Fehlermeldung.Replace(": ", "rn" + "rnBeschreibung: ");
            Fehlermeldung = Fehlermeldung.Replace("   ", "rnOrt: ");
            string Ausgabe = "Meldung: " + Fehlermeldung + "rnrn" +
                "Uhrzeit: " + DateTime.Now.ToString("HH:mm:ss") + "rn" +
                "Datum: " + DateTime.Now.ToString("dddd") + ", den " + DateTime.Now.ToString("dd.MM.yyyy") + "rn" +
                "Version: " + System.Windows.Forms.Application.ProductVersion;

            //MessageBox an den Benutzer
            DialogResult dr = MessageBox.Show("Es ist folgender Fehler aufgetreten:" + "rn" + ex.Message + "rnrn" +
                "Möchten Sie die Fehlermeldung an "" + Name + """" senden?""

2 Kommentare

  1. Sorry, aber das kann man eigentlich nur mit 1 bewerten. Ich sage Ihnen auch wieso:
    1. Unnötig viele String-Allokationen. Die Replaces sind unnötig und fehleranfällig (was ist, wenn Microsoft etwas an der Formatierung ändert?) – ein Entwickler wird auch ohne diese etwas mit der Exception anfangen können. Um die komplette Nachricht zusammen zu bauen empfehle ich den StringBuilder.
    2. Der komplette Code in einer Methode -> schlechter Programmierstil
    3. Verwenden von Betriebssystemressourcen (konkret: Streams) ohne sicherzustellen, dass diese sicher wieder aufgeräumt werden (Tipp: using-keyword). Noch einfacher gehts mit der File-Klasse, z.B. per WriteAllText-Methode.
    4. Das Gleiche kann man mittels Logging-Framework (z.B. log4net) einfacher und konfigurierbarer erreichen.

  2. @spezi: ICH wüsste nicht wie! Dann poste du doch mal das gleicher in grün/besser.
    Ich find die Idee an sich nämlich super…