Anwendungsfälle in einer Tornado-Anwendung ordnungsgemäß behandeln

9

Basierend auf etwas googeln habe ich den folgenden Fehlerhandler installiert. Die Python-Exceptions, die einen http-Wert von 500 zurückgeben, werden jedoch nicht von diesem Code gefangen, obwohl es sich um 404 handelt. Mit den Druckanweisungen, die ich in dem Code unten gelassen habe, kann ich sehen, dass es keine dieser Routinen trifft. Was sollte ich wirklich tun?

%Vor%     
Karra 09.07.2012, 10:10
quelle

3 Antworten

10

Zunächst einmal hat die Ausnahme, die Sie in prepare erhöhen, den Code 200 , daher wird sie nicht in der Funktion get_error_html abgefangen.

Zweitens ist get_error_html veraltet: Verwenden Sie stattdessen write_error ( write_error ).

Schließlich müssen Sie nicht __init__ auf ErrorHandler aufrufen: Um einen Handler zu initialisieren, verwenden Sie initialize ( initialisieren ), aber in diesem Fall brauchen Sie es nicht.

Hier ist ein Arbeitsbeispiel:

%Vor%     
lbolla 09.07.2012 15:46
quelle
7
  1. Handler. Lassen Sie uns einige Standard-Handler definieren, die wir verwenden werden
%Vor%
  1. Einstellungen. Wir müssen auch default_handler_class und default_handler_args definieren
%Vor%
  1. Anwendung.
%Vor%

als Ergebnis. Alle Fehler außer 404 werden von BaseHandler behandelt. 404 - ErrorHandler. das ist es:)

    
chmeliuk 24.11.2014 16:01
quelle
-1
%Vor%     
suzaku 05.04.2016 08:11
quelle

Tags und Links