You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/10-error-handling/2-custom-errors/article.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -180,7 +180,7 @@ try {
180
180
181
181
La nuova classe `PropertyRequiredError` è facile da usare: dobbiamo solamente fornire il nome della proprietà: `newPropertyRequiredError(property)`. Il messaggio `message` è generato dal construttore.
182
182
183
-
Poniamo particolare attenzione al fatto che `this.name` nel construttore `PropertyRequiredError` è di nuovo assegnato manualmente. Questa cosa potrebbe risultare un po noiosa -- assegnare `this.name=<classname>` in ogni errore personalizzato. Possiamo evitarlo creando la nostra classe "basic error" che assegna `this.name=this.constructor.name`. E poi ereditare tutti i nostri errori personalizzati da esso.
183
+
Poniamo particolare attenzione al fatto che `this.name` nel construttore `PropertyRequiredError` è di nuovo assegnato manualmente. Questa cosa potrebbe risultare un po' noiosa -- assegnare `this.name=<classname>` in ogni errore personalizzato. Possiamo evitarlo creando la nostra classe "basic error" che assegna `this.name=this.constructor.name`, quindi ereditare da questa tutti i nostri errori personalizzati.
184
184
185
185
Quindi chiamiamola `MyError`.
186
186
@@ -217,7 +217,7 @@ Lo scopo della funzione `readUser` nel codice precedente è di "leggere i dati d
217
217
218
218
Il codice che richiama `readUser` dovrebbe gestire questi errori. Per ora utilizziamo diversi `if` nel blocco `catch`, che verificano la classe, ne gestiscono gli errori e rilanciano quelli sconosciuti.
219
219
220
-
Lo schema è tipo così:
220
+
Lo schema è simile al seguente:
221
221
222
222
```js
223
223
try {
@@ -247,9 +247,9 @@ La tecnica che andiamo qui a descrivere è chiamata "wrapping exceptions".
247
247
2. La funzione `readUser` catturerà gli errori di lettura che avvengono al suo interno, come `ValidationError` e `SyntaxError`, e genererà un `ReadError`.
248
248
3. L'oggetto `ReadError` terrà i riferimenti all'errore originale nella sua proprietà `cause`.
249
249
250
-
Quindi il codice che richiama `readUser` dovrà solamente controllare se si verifica un `ReadError`, e non ogni tipo di errore nella lettura dei dati. E se abbiamo la necessità di approfondire riguardo un errore, lo potremo fare controllando la proprietà `cause`.
250
+
Quindi il codice che richiama `readUser` dovrà solamente controllare se si verifica un `ReadError`, e non ogni tipo di errore nella lettura dei dati. E se abbiamo la necessità di approfondire i dettagli dell'errore, lo potremo fare controllando la proprietà `cause`.
251
251
252
-
Questo il codice che definisce `ReadError` e la dimostrazione di come usarlo in `readUser` e nel `try..catch`:
252
+
Questo è il codice che definisce `ReadError` e la dimostrazione di come usarlo in `readUser` e nel `try..catch`:
0 commit comments