Werfen und Fangen Java-Ausnahmen

Java-Objekte werfen Ausnahmen in eine etwas andere Weise als ColdFusion tut. Java Ausnahmen sind wie folgt gehandhabt:

 # exception.toString () # 
  

GetException () empfängt den jüngsten Ausnahme, dass für myObject aufgetreten. Exception.toString () bekommt eine Nachricht, die Sie für den Benutzer angezeigt werden können. CFSCRIPT enthält auch eine begrenzte Fähigkeit zur Ausnahmebehandlung durchführen. Anstelle der Verwendung CFTRY und CFCATCH, würden Sie versuchen, die Keywords und Fang in einem CFSCRIPT Block, wie folgt:

 try (oExcel = CreateObject ( "COM", "Excel.Application");) catch (Jede Ausnahme) (WriteOutput ( "Ein Fehler ist aufgetreten, während der Instanziierung einer COM-Objekt. KOM wieder die folgende Fehlermeldung angezeigt: # # exception.Message); ) 

Wenn Excel nicht auf dem ColdFusion Server, dass die vorstehenden Beispiel wird installiert, CreateObject () ein Fehler, der dann von der catch-Block abgefangen werden zu werfen. Beachten Sie den Unterschied zwischen den CFCATCH Syntax und die Syntax zu fangen. Inside CFSCRIPT, geben Sie das Schlüsselwort catch, gefolgt von der Ausnahme-Typ, gefolgt von den Namen der Exception-Objekt. Die Ausnahme-Objekt ist das Äquivalent der CFCATCH Struktur der Sie zuvor in diesem Artikel. Leider CFSCRIPT's Exception-Handling ist begrenzt, weil es keine Möglichkeit gibt, um einen benutzerdefinierten Fehler zu werfen, und es gibt keinen Weg, um einen Fehler erneut auslösen, nachdem Sie sie gefangen haben . CFTRY und CFCATCH sind für bestimmte Fehler, die in gezielte Teil des Codes auftreten, hilfreich. Man kann aber auch zu fangen alle Fehler, die in Ihrer Anwendung kommt und die Kontrolle wird zu einer generalisierten Fehlerhandler Seite aus dem CFERROR Tag. CFERROR ist in der Regel innerhalb gestellt Application.cfm. Ein typischer Aufruf sieht wie folgt aus:

Diese Forderung zu CFERROR ColdFusion sagt, dass jeder abgefangene Ausnahme jeglicher Art kommt in der Anwendung, sollte es dem Benutzer, error.cfm umzuleiten. Dies ist ähnlich wie bei einem CFCATCH type = "Alle", die dem Benutzer eine Fehlermeldung Seite umleitet, sondern umfasst alle CFERROR Code in Ihrer Anwendung nicht nur ein einziges Ziel zu blockieren. Dieser Ansatz hat seine Vorteile, da können Sie nun einen Benutzer geben, Fehlerseite für den Benutzer unabhängig davon, wo der Fehler ist möglicherweise aufgetreten. Der Nachteil der Verwendung CFERROR von selbst, dass die Diagnose der Fehler ist viel schwieriger, denn man kann nicht die Position als leicht auszumachen ist. Ihre beste Kurses ist es, CFTRY und CFERROR zusammen-setzen CFTRY Verwendung in bestimmten Bereichen des Codes und dann unter Berufung auf CFERROR für unerwartete Fehler, die nicht als Ausnahmen behandelt werden. CFERROR Wenn ein Fehler auftritt, übergibt es der Ausführung von Seiten auf die Vorlage in der Vorlage angegebenen Attribut. Die Fehler-Seite hat Zugang zu Informationen über den Fehler sowie alle Inhalte generiert bis zu dem Punkt, dass der Fehler aufgetreten ist. Eine gute Idee ist, um den Fehler Vorlage verwenden, um E-Mail an den Administrator der Website, schickte ihm der Fehler alle Informationen, und dann die Ausgabe einer benutzerfreundlichen Fehlermeldung, integriert mit dem regulären grafische Behandlung für Ihre Website. Der Code zeigt einen gut geschriebenen Fehler-Seite.

 Ein Fehler trat bei der Verarbeitung der Vorlage # Error.TagContext [1]. Template # at line # Error.TagContext [1]. Line #. Die Diagnose-Informationen unter: Fehlertyp: # # Error.RootCause.Type Referer: Error.HTTPReferer # # Fehlermeldung: # # Fehler Error.RootCause.Message Detail: # # Error.Rootcause.Detail  Ein Fehler ist aufgetreten während Ihrer Anfrage. Bitte versuchen Sie es erneut.

Die CFERROR Beispiel, das zeigen wir Ihnen am Anfang dieses Teils ist eine Ausnahme-Attribut. CFERROR's Ausnahme Attribut ist ähnlich wie der Typ-Attribut CFCATCH: Es erzählt ColdFusion, welche Art von Ausnahme betrifft die CFERROR Tag. Nehmen wir zum Beispiel, dass Sie die folgenden Aufrufe an CFERROR:


   

ColdFusion protokolliert alle Fehler, die in Ihrer Anwendung auftreten. Sie können eine Historie aller Fehler in der Anwendung, indem Sie die Log-Dateien zu erhalten und zu sehen, was passiert, wenn. Die Log-Dateien im cf_root gespeichert werden \ logs \ Verzeichnis. Die Log-Datei, die Sie sollten die meisten davon mit betroffen ist application.log, die die Fehler, die in Ihrer Anwendung auftreten enthält. Sie können einen Fehler, indem Sie die Log-Dateien und das Finden des Datensatzes zu verfolgen. Auch Fehler, die bei CFCATCH oder CFERROR gefangen werden, sind in application.log gespeichert, so können Sie genau sehen, was passiert ist, auch wenn der Fehler CFCATCH verdeckt. Sie können auch Ihre eigenen Einträge in den Log-Dateien mithilfe CFLOG wie folgt:

Das schreibt eine Meldung in eine Datei namens MyLog.log innerhalb der cf_root \ logs \ Verzeichnis. Dies kann sehr nützlich sein, für bestimmte problematische Situationen, in denen Sie eine bestimmte Fehler protokolliert werden sollen. Don't log jeden Fehler, weil sie damit unnötig den Server Belastungen auftritt. ColdFusion bietet eine breite Palette von Ausnahmebehandlung Techniken, von CFTRY und CFCATCH der allumfassenden site-wide Fehlerbehandlung. Jede Technik kann für sich mächtig, aber nur, wenn diese drei sind intelligent integrierten tun, erreichen Sie das volle Potenzial der Ausnahme ColdFusion Umgang Rahmen. In diesem Artikel erfahren Sie über die verschiedenen Möglichkeiten zur Nutzung Ausnahme der ColdFusion-Handling Rahmen und wie die verschiedenen Teile der Arbeit zusammen. Außerdem erfahren Sie, über die verschiedenen Arten von Fehlern, die geworfen werden und mit CFCATCH und CFERROR gefangen, und Sie sogar lernen, wie man eigene Fehler-Typen, die Sie für eigene Zwecke verwenden können.

Ein Artikel eingereicht von Aris Buttler


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Werfen und Fangen Java-Ausnahmen" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 387 users browsing the articles directory