Επίσης, καλό είναι να προστεθεί και κάποιο ουσιαστικό logging και exception handling γιατί προφανώς το μήνυμα του crash δεν βοηθάει και πολύ. Το λιγότερο μπορείς να χρησιμοποιήσεις τις κλάσεις του System.Diagnostics namespace (
Debug,
Trace) για να γράψεις στα γρήγορα ένα μήνυμα στην κονσόλα ή στο Event log. Μία πιο ουσιαστική λύση είναι το
log4net το οποίεο είναι είναι αρκετά ευέλικτο και απλό (παίζει και σε Client Profile από το καλοκαίρι) και χρησιμοποιείται από πληθώρα open-source projects όπως το NHibernate.
Για το exception handling θα πρέπει το λιγότερο να χειρίζεσαι το
Application.DispatcherUnhandledException event για να προλάβεις να καταγράψεις στο log τυχόν exceptions που δεν έχεις χειριστεί αλλού, ίσως και να εμφανίσεις ένα μύνημα στο χρήστη. Για παράδειγμα, η Exception.ToString() σου επιστρέφει το μήνυμα λάθους, το call stack αλλά και το σημείο στον κώδικα που "έσκασε" το exception και έτσι μπορείς να βρεις ακριβώς τί συνέβη και που.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos