Exception Handling, Tracing und Logging



Ähnliche Dokumente
Javakurs zu Informatik I. Henning Heitkötter

Adressen der BA Leipzig

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Artikel Schnittstelle über CSV

Visual Basic Express Debugging

Problem crazytrickler unter Windows 8:

Kleines Handbuch zur Fotogalerie der Pixel AG

Adami CRM - Outlook Replikation User Dokumentation

Lizenz Verwaltung. Adami Vista CRM

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender FHNW, Services, ICT

Benutzer Verwalten. 1. Benutzer Browser

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

System-Update Addendum

Oracle APEX Installer

Professionelle Seminare im Bereich MS-Office

Tipps und Tricks zu Netop Vision und Vision Pro

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Leichte-Sprache-Bilder

Diese Anleitung erläutert die Einrichtung des Active Directory Modus im DNS-343.

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Dokumentation Exchange

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Übung - Konfigurieren einer Windows Vista-Firewall

Zurücksetzen von "Internetprotokoll (TCP/IP)" in Windows XP

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Die Post hat eine Umfrage gemacht

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Inhaltsverzeichnis. Handbuch zur Installation der Software für die Bürgerkarte

Lastenheft. Poker iphone App

Installieren von Microsoft Office Version 2.1

Anleitung zur Einrichtung von Windows Mail V 6.0 an das neue und Groupware-System Communigate Pro

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Lokale Installation von DotNetNuke 4 ohne IIS

Installation der Konfigurationsdateien für alle Windows-Versionen bis einschließlich Microsoft Windows 7

Microsoft Windows XP SP2 und windream

Impulse Inklusion Selbst-bestimmtes Wohnen und Nachbarschaft

Microsoft Visual Studio Community 2015

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions

Microsoft Internet Explorer

ACDSee 9 Foto-Manager

> Mozilla Firefox 3. Browsereinstellungen optimieren. Übersicht. Stand Juli Seite. Inhalt. 1. Cache und Cookies löschen

Live Update (Auto Update)

Installation, Konfiguration und Nutzung des WLAN auf PDA FujitsuSiemens Pocket Loox 720

Installation USB-Modem unter Windows XP

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

Microsoft Internet Explorer

How to do? Projekte - Zeiterfassung

Verbuchung von Zahlungseingängen über das PayPal-Konto

Was meinen die Leute eigentlich mit: Grexit?

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Übung - Konfigurieren einer Windows-XP-Firewall

RAID Software. 1. Beginn

VB.net Programmierung und Beispielprogramm für GSV

Software Engineering Interaktionsdiagramme

Dealer Management Systeme. Bedienungsanleitung. Freicon Software Logistik (FSL) für Updates

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Ihre Outlook-Konfiguration ist fehlgeschlagen und es funktioniert nichts mehr? Dann bitte hier weiter!

Objektorientierte Programmierung OOP

Beschreibung Regeln z.b. Abwesenheitsmeldung und Weiterleitung

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Bevor Sie mit den Umstellungsarbeiten beginnen, führen Sie bitte eine Datensicherung aus.

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Kurzfassung der Studienarbeit

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

! " # $ " % & Nicki Wruck worldwidewruck

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

SEP 114. Design by Contract

Windows 10 > Fragen über Fragen

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

SSO-Schnittstelle. Inhalt: Beschreibung der Single Sign-On (SSO) Schnittstelle. NetSlave GmbH Simon-Dach-Straße 12 D Berlin

WINDOWS 10 Upgrade. Beispiel: Desktop-Ausschnitt von vorhandenem WIN 8.1 (rechte Ecke der Taskleiste)

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Installation / Update Advantage Database Server. Die Software Hausverwaltung

Navigieren auf dem Desktop

> Mozilla Firefox 3.5

Kulturobjekte der Donau Das ContentManagementSystem (CMS)

26. November Die Firewall

PicKit 3. Programmierung mit dem USB-Programmer PICkit3 (Microchip) AB

Zählen von Objekten einer bestimmten Klasse

Einführung in die Programmierung

Installation & Konfiguration AddOn AD-Password Changer

my.ohm Content Services Autorenansicht Rechte

Grundlagen von Python

Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden.

Behindert ist, wer behindert wird

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten

Xylem WebService Demo Kurzbedienungsanleitung

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

tentoinfinity Apps 1.0 EINFÜHRUNG

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Getting Started Guide CRM Online, 2013 & 2015 xrm1 Verpflegungspauschalen

Anleitung Real-Push Watchlist / SMS-Kursalarm

Transkript:

Exception Handling, Tracing und Logging Proseminar Objektorientiertes Programmieren mit.net und C# Tomas Ladek Institut für Informatik Software & Systems Engineering

Agenda Exceptions Allgemeines Implementierung Eigene Exceptions Logging Allgemeines Implementierung Tracing Allgemeines Implementierung Quellenangabe 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 2

Exceptions Allgemeines Anwender sind unvorhersehbar. Eine gute Anwendung muss für alles vorbereitet sein. keine unverständliche Fehlermeldungen Exceptions sind keine Fehlersituationen! 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 3

Exceptions Allgemeines Exceptions können ausgelöst werden von bestimmten Routinen der Klassenbibliothek des.net frameworks, von der CLR, oder vom Programmierer selbst. Können an vorhergesehenen stellen behandelt oder erneut ausgelöst werden. 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 4

Exceptions Allgemeines Motivation: Programmcode sollte nicht zu stark mit der Fehlerbehandlung vermischt werden. Lesbarkeit und Struktur des Codes Fehlerbehandlung kann aufwändiger werden und es häufen sich doppelte Codeteile. 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 5

ohne Excep*ons mit Excep*ons 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 6

Exceptions Allgemeines Aber: Man sollte die Fehlerprüfung nicht ausschließlich durch Exceptions regeln. z.b. wenn fehlerhafte Angaben vom Benutzer zu erwarten sind oder nach Dingen gefragt wird, die es mit gewisser Wahrscheinlichkeit nicht gibt Exception-Behandlung ist zeitaufwändig 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 7

Exceptions Implementierung Exceptions sind Objekte vom Typ einer spezifischen Exception-Klasse. Alle spezielle Exception-Typen erben von der Basisklasse System.Excep,on Ein paar ausgewählte Exception-Typen: Viele vordefinierten Exceptions erweitern ihre Basisklasse garnicht. 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 8

Exceptions Implementierung Besondere Member der Excep,on-Klasse: Eigenschaft HelpLink InnerExcep,on Message Source StackTrace TargetSite Beschreibung Verweis auf Hilfedatei, die diese Ausnahme beschreibt Referenz auf die innere Ausnahme Beschreibung des aktuellen Fehlers Beschreibung der Anwendung oder des Objekts, die bzw. das den Fehler ausgelöst hat Aktuelle Aufrufreihenfolge aller Methoden Methode, in der die Ausnahme ausgelöst worden ist 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 9

Exceptions Implementierung try/catch 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 10

Exceptions Implementierung try/catch 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 11

Exceptions Implementierung try/catch/finally finally: Wird immer ausgeführt ob ein Fehler vorkam oder nicht. Gut für kontrolliertes Schließen oder Freigeben von Ressourcen. 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 12

Exceptions Implementierung catch erfolgreich: das Exception-Objekt wird nach der Behandlung beseitigt. catch nicht erfolgreich: Exception wird weitergereicht...... an den umschließenden try/catch Block, oder an die aufrufende Methode. Nichtbehandelte Exceptions werden von.net verarbeitet und das Programm wird unsanft mit der üblichen Fehlermeldung beendet. 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 13

Exceptions Eigene Exceptions Motivation: Allein durch Typ/Name der vordefinierten Exceptions muss der Entstehungskontext nicht klar sein. Menge an Informationen in vordefinierten Exceptions ist beschränkt. Neue Exception-Klassen sollten... von (Applica,on)Excep,on erben, auf Exception enden, und mindestens die drei folgenden Konstruktoren anbieten: Konstruktor MyExcep,on MyExcep,on(String) Beschreibung Ohne argumente Mit einer bestimmten error message MyExcep,on(String, Excep,on) Zusätzlich mit der Exception, die MyException ausgelöst hat 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 14

Exceptions Eigene Exceptions Klassendefinition 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 15

Exceptions Eigene Exceptions throw 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 16

Agenda Exceptions Allgemeines Implementierung Eigene Exceptions Logging Allgemeines Implementierung Tracing Allgemeines Implementierung Quellenangabe 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 17

Das Windows Ereignisprotokoll: Logging 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 18

Das Windows Ereignisprotokoll: Logging 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 19

Das Windows Ereignisprotokoll: Logging 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 20

Logging Allgemeines Das Windows Ereignisprotokoll: Vorteile: Er ist auf jedem Windowsrechner vorhanden. Er läuft als Systemdienst und ist immer bereit sich Ereignisse zu merken. Nachteile: Enthält meist sehr viele Einträge Wird technisch vom Anwender kontrolliert. Begrenzter Speicherplatz. 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 21

Logging Implementierung In das Ereignisprotokoll schreiben: 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 22

Logging Implementierung In das Ereignisprotokoll schreiben (einfacher): 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 23

Logging Implementierung Aus dem Ereignisprotokoll lesen: 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 24

Logging Implementierung Ein Ereignisprotokoll löschen: 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 25

Agenda Exceptions Allgemeines Implementierung Eigene Exceptions Logging Allgemeines Implementierung Tracing Allgemeines Implementierung Quellenangabe 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 26

Tracing Allgemeines Motivation: Möglichkeit den eigentlichen Ablauf einer Anwendung zu verfolgen. Die eventuelle Vielzahl der Meldungen kann (sollte) nicht in das Ereignisprotokoll geschrieben werden. Verfügbare Mittel: Ausgaben über die Klasse System.Diagnos,cs.Debug Verwenden der Klasse System.Diagnos,cs.Trace Wählt man die Konfiguration Release aus, werden die Aufrufe auf Debug im Allgemeinen nicht kompiliert, die auf Trace hingegen immer! 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 27

Tracing Implementierung Die Klasse Trace: Verfügt im Feld Listeners über eine TraceListenerCollec,on Ausgaben werden über diese Listener entsprechend weitergeleitet an das Outputfenster über DefaultTraceListener, an die Konsole über ConsoleTraceListener, in das Windows Ereignisprotokoll über EventLogTraceListener, oder allgemein in einen Stream über TextWriterTraceListener 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 28

Tracing Implementierung 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 29

Tracing Implementierung 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 30

Tracing Implementierung TraceSwitch muss nicht direkt im Code gesetzt werden. In der Konfigurationsdatei der Anwendung kann man ihn ebenfalls auf die Stufen Off, Error, Warning, Info oder Verbose mit 0, 1, 2, 3 bzw. 4 stellen 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 31

Quellen Rolf Wenger, Handbuch der.net Programmierung, Microsoft Press, 2007 Dirk Frischalowski, Visual C# 2010, Addison-Wesley, 2010 Adreas Kühnel, Visual C# 2010, Das umfassende Handbuch, Galileo Computing, 2010 24.11.11 Tomas Ladek - Exception Handling, Tracing und Logging 32

Fragen?