Archiv

TechInfo

JS Error Handling, Logging und Debugging

By David Bary

Dieser Blog Eintrag soll ein Verständnis und eine Herangehensweise für JavaScript Error Handling, einheitliches Logging von JavaScript Operationen und einfaches Debugging von JavaScript Fehlern im CMS ermöglichen. Seit JavaScript 1.5 (verabschiedet 1999, implementiert seit Mozilla 1.0 und IE 5) ist eine Fehlerbehandlung mittels try..catch wie in anderen mächtigen und populären Programmiersprachen möglich. Aufgrund der recht simplen Aufgaben, für die JavaScript meist eingesetzt wurde, verlassen sich die meisten Entwickler in der Praxis jedoch darauf, alle Fehlerquellen berücksichtigt zu haben und vernachlässigen eine saubere Fehlerbehandlung. Durch den Boom des Web 2.0 und dem stark zunehmenden JavaScript Anteil in Webseiten, sowie der enorm gestiegenen Komplexität, ist es aber Zeit sich intensiver mit der JavaScript Fehlerbehandlung im Browser zu beschäftigen.


Gründe für eine neue JS Error Handling Strategie:
  • JavaScript in TIMETOWEB Webseiten hat stark zugenommen ( AJAX und Web 2.0, das WUI, externe Frameworks )
  • Verschiedene JS Frameworks gemischt mit eigenem JS-Code erhöhen das Fehlerpotenzial und erschweren die Fehlersuche
  • Benutzer Feedback im Falle von JS Fehlern ist unwahrscheinlich, somit muss eine automatische reporting Lösung gefunden werden


JQuery spezialisiert sich auf eine schlanke DOM Manipulation und enthält und bietet selbst keine Fehlerbehandlungs-Routine und ExtJS verwendet an vereinzelten Stellen im Code "try ... catch" Statements, setzt jedoch kein globales Konzept ein, sondern fängt lediglich einzelne Ausnahmefälle im JS-Code ab ohne die Fehler weiter zu verarbeiten. Somit bleibt es dem Webmaster bzw. Entwickler überlassen, beim Einsatz dieser Frameworks JS Fehler abzufangen.


Für das Errorhandling gibt es zwei sich ergänzende Wege in JavaScript: dass global ausgerichtete "window.onerror" Event und das im Script-Code einzubindende "try ... catch" Statement, die im folgenden kurz Erläutert sind:
mehr...

Archiv

TechInfo

Probleme beim Debuggen von Database Script

By Dirk Bergles

Kürzlich passierte folgendes. Das Datenbankscript in QueryDocumentDelete mußte für die Approval Rights erweitert werden. Um die Funktionsweise zu prüfen, sollte das Script einfach im Debugger kontrolliert werden.
Also wurde Debugger eingeschaltet und die Datenbank geöffnet und das entsprechende Dokument testweise gelöscht.

Ergebnis: kein Debugger weit und breit, jedenfalls nicht bei dem Datenbankscript.

Lösung: Auch im Designer muß die Datenbank geschlossen werden.

Wird dann die Datenbank erneut geöffnet werden alle Datenbankscripte brav durchlaufen.
Achtung! Auch Änderungen im Datenbankscript werden erstmal völlig ignoriert. Selbst das Schließen und Öffnen der Datenbank führt nicht immer weiter. Auch hier hilft das Schließen der Datenbank im Designer.

Tags:
Alle Tags