@@ -7,7 +7,7 @@ import Alert from '@components/primitives/Alert/Alert.astro';
77
88_ Error Handling_ bezieht sich darauf, wie Express Fehler fängt und verarbeitet, die
99sowohl synchron als auch asynchron auftritt. Express kommt mit einem Standardfehler
10- \ - Handler, damit Sie nicht Ihren eigenen schreiben müssen, um loszulegen.
10+ -Handler, damit Sie nicht Ihren eigenen schreiben müssen, um loszulegen.
1111
1212## Fehler beim Fangen
1313
@@ -20,7 +20,7 @@ catch and process it. Zum Beispiel:
2020
2121``` js
2222app .get (' /' , (req , res ) => {
23- werfen neue Fehler (' BROKEN' ); // Express fängt dies auf eigene Faust .
23+ throw new Error (' BROKEN' ); // Express will catch this on its own .
2424});
2525```
2626
@@ -30,11 +30,11 @@ catch and process them. Zum Beispiel:
3030
3131``` js
3232app .get (' /' , (req , res , next ) => {
33- fs .eadFile (' /file-does-not-exist' , (err , data ) => {
33+ fs .readFile (' /file-does-not-exist' , (err , data ) => {
3434 if (err) {
35- next (err); // Fehler an Express übergeben .
35+ next (err); // Pass errors to Express .
3636 } else {
37- res .end (data);
37+ res .send (data);
3838 }
3939 });
4040});
@@ -46,7 +46,7 @@ Zum Beispiel:
4646
4747``` js
4848app .get (' /user/:id' , async (req , res , next ) => {
49- const user = wait getUserById (req .params .id );
49+ const user = await getUserById (req .params .id );
5050 res .send (user);
5151});
5252```
@@ -64,7 +64,7 @@ wie folgt vereinfachen:
6464
6565``` js
6666app .get (' /' , [
67- Funktion (req , res , next ) {
67+ function (req , res , next ) {
6868 fs .writeFile (' /inaccessible-path' , ' data' , next);
6969 },
7070 function (req , res ) {
@@ -75,7 +75,7 @@ app.get('/', [
7575
7676Im obigen Beispiel wird ` next ` als Callback für ` fs.writeFile ` bereitgestellt,
7777, das mit oder ohne Fehler aufgerufen wird. Wenn kein Fehler vorliegt, wird der zweite
78- \ - Handler ausgeführt, sonst fängt und verarbeitet Express den Fehler.
78+ -Handler ausgeführt, sonst fängt und verarbeitet Express den Fehler.
7979
8080Sie müssen Fehler, die im asynchronen Code auftreten, der von Routenhandlern oder
8181Middleware aufgerufen wird, auffangen und an Express zur Verarbeitung weiterleiten. Zum Beispiel:
@@ -103,10 +103,10 @@ benutzt, die Versprechen zurückgeben. Zum Beispiel:
103103``` js
104104app .get (' /' , (req , res , next ) => {
105105 Promise .resolve ()
106- . hen (() => {
107- werfen neue Fehler (' BROKEN' );
106+ .then (() => {
107+ throw new Error (' BROKEN' );
108108 })
109- . atch (next); // Fehler werden an Express übergeben .
109+ .catch (next); // Errors will be passed to Express .
110110});
111111```
112112
@@ -119,14 +119,14 @@ zu stützen, indem Sie den asynchronen Code auf etwas Triviales reduzieren. Zum
119119
120120``` js
121121app .get (' /' , [
122- Funktion (req , res , next ) {
123- fs . eadFile (' /maybe-valid-file' , ' utf-8' , (err , data ) => {
124- res .locals . ata = Daten ;
122+ function (req , res , next ) {
123+ fs .readFile (' /maybe-valid-file' , ' utf-8' , (err , data ) => {
124+ res .locals .data = data ;
125125 next (err);
126126 });
127127 },
128128 function (req , res ) {
129- res . ocals .data = res .locals .data .split (' ,' )[1 ];
129+ res .locals .data = res .locals .data .split (' ,' )[1 ];
130130 res .send (res .locals .data );
131131 },
132132]);
@@ -141,7 +141,7 @@ mit dem `readFile` Callback durchgeführt, dann könnte sich die Anwendung beend
141141Handler würden nicht laufen.
142142
143143Welche Methode Sie auch immer verwenden, wenn Sie wollen, dass Express-Fehlerbehandler aufgerufen werden und die
144- \ - Anwendung überleben soll, Sie müssen sicherstellen, dass Express den Fehler empfängt.
144+ -Anwendung überleben soll, Sie müssen sicherstellen, dass Express den Fehler empfängt.
145145
146146## Der Standard-Fehlerhandler
147147
@@ -165,7 +165,7 @@ hinzugefügt:
165165 sich dieser Wert außerhalb des 4xx oder 5xx Bereichs befindet, wird er auf 500 gesetzt.
166166- Die ` res.statusMessage ` wurde gemäß dem Statuscode gesetzt.
167167- Der Körper wird der HTML-Code der Statuscode-Nachricht sein, wenn in der Produktion
168- \ - Umgebung, andernfalls 'err.stack' ist.
168+ -Umgebung, andernfalls 'err.stack' ist.
169169- Alle in einem ` err.headers ` Objekt angegebenen Header.
170170
171171Wenn du ` next() ` mit einem Fehler aufruft, nachdem du die
@@ -199,9 +199,9 @@ außer Funktionen zur Fehlerbehandlung haben vier Argumente anstelle von drei:
199199` (err, req, res, next) ` . Zum Beispiel:
200200
201201``` js
202- app .use ((( err , req , res , next ) => {
202+ app .use ((err , req , res , next ) => {
203203 console .error (err .stack );
204- res .status (500 ).send (' Etwas kaputt !' );
204+ res .status (500 ).send (' Something broke !' );
205205});
206206```
207207
@@ -212,14 +212,14 @@ const bodyParser = require('body-parser');
212212const methodOverride = require (' method-override' );
213213
214214app .use (
215- bodyParser .rlencoded ({
215+ bodyParser .urlencoded ({
216216 extended: true ,
217217 })
218218);
219219app .use (bodyParser .json ());
220- app .se (methodOverride ());
220+ app .use (methodOverride ());
221221app .use ((err , req , res , next ) => {
222- // Logik
222+ // logic
223223});
224224```
225225
@@ -234,12 +234,12 @@ für Anfragen mit `XHR` und denen ohne folgende zu definieren:
234234const bodyParser = require (' body-parser' );
235235const methodOverride = require (' method-override' );
236236
237- app .se (
237+ app .use (
238238 bodyParser .urlencoded ({
239239 extended: true ,
240240 })
241241);
242- app .se (bodyParser .json ());
242+ app .use (bodyParser .json ());
243243app .use (methodOverride ());
244244app .use (logErrors);
245245app .use (clientErrorHandler);
@@ -263,7 +263,7 @@ Beachten Sie, dass, wenn _not_ in einer Fehlerbehandlungsfunktion "Weiter" aufru
263263``` js
264264function clientErrorHandler (err , req , res , next ) {
265265 if (req .xhr ) {
266- res .status (500 ).end ({ error: ' Something failed!' });
266+ res .status (500 ).send ({ error: ' Something failed!' });
267267 } else {
268268 next (err);
269269 }
@@ -285,17 +285,17 @@ Wenn du einen Route-Handler mit mehreren Callback-Funktionen hast, kannst du den
285285app .get (
286286 ' /a_route_behind_paywall' ,
287287 (req , res , next ) => {
288- if (! req .user .asPaid ) {
289- // weitere Bearbeitung dieser Anfrage
288+ if (! req .user .hasPaid ) {
289+ // continue handling this request
290290 next (' route' );
291291 } else {
292292 next ();
293293 }
294294 },
295295 (req , res , next ) => {
296- PaidContent .ind ((err , doc ) => {
296+ PaidContent .find ((err , doc ) => {
297297 if (err) return next (err);
298- res .son (doc);
298+ res .json (doc);
299299 });
300300 }
301301);
0 commit comments