Custom errors, extending Error#184
Custom errors, extending Error#184cortizg wants to merge 2 commits intojavascript-tutorial:masterfrom cortizg:es.javascript.info.1-10-2-eh
Conversation
1-10-2-eh Corregido 7
There was a problem hiding this comment.
Casi, @cortizg. No me deja sugerir, pero podria hacer merge.
Sin embargo, hay tema de glosario, es decir discutible:
WRAPPING. Lo tradujiste como ajuste. Va mas o menos bien, muy entendible, pero en un momento habla de "excepciones de ajuste" como una tecnica generalizada, y eso me molesta, porque está dando un refuerzo a lo que es un WRAPPER: una función que envuelve otra, en unos lados tradujeron como ENVOLTORIO y otros como CONTENEDOR (que acá sonarían forzados). Yo prefería dejar el nombre "wrapper" o aclararlo, pero no sugiero nada y si acuerdan dejarlo así podés ignorar mi request change.
También faltaba 1 (un) acento pero perdí dónde. (No los veo si no hago zoom) No reharía el pr entero por eso.
|
Please make the requested changes. After it, add a comment "/done". |
Tienes razón, en su momento no vi el error: podria ser agrupamiento de excepciones, o Empacado de excepciones |
| Ahora los errores personalizados son mucho más cortos, especialmente `ValidationError`, ya que eliminamos la línea `"this.name = ..."` en el constructor. | ||
|
|
||
| ## Wrapping exceptions | ||
| ## Excepciones de ajuste |
There was a problem hiding this comment.
Empacado de excepciones
| A menudo, la respuesta es "No": nos gustaría estar "un nivel por encima de todo eso". Solo queremos saber si hubo un "error de lectura de datos": el por qué ocurrió exactamente es a menudo irrelevante (el mensaje de error lo describe). O, mejor aún, nos gustaría tener una forma de obtener los detalles del error, pero solo si es necesario. | ||
|
|
||
| The technique that we describe here is called "wrapping exceptions". | ||
| La técnica que describimos aquí se llama "excepciones de ajuste". |
There was a problem hiding this comment.
La técnica que describimos aquí se llama "empacado de excepciones".
| Entonces, el código externo verifica `instanceof ReadError` y eso es todo. No es necesario enumerar todos los tipos de error posibles. | ||
|
|
||
| The approach is called "wrapping exceptions", because we take "low level" exceptions and "wrap" them into `ReadError` that is more abstract. It is widely used in object-oriented programming. | ||
| El enfoque se llama "excepciones de ajuste", porque tomamos excepciones de "bajo nivel" y las "ajustamos" en `ReadError` que es más abstracto. Es ampliamente utilizado en la programación orientada a objetos. |
There was a problem hiding this comment.
El enfoque se llama "empacado de excepciones", porque tomamos excepciones de "bajo nivel" y las "empacamos" dentro de ReadError que es más abstracto. Es ampliamente utilizado en la programación orientada a objetos.
| - Wrapping exceptions is a widespread technique: a function handles low-level exceptions and creates higher-level errors instead of various low-level ones. Low-level exceptions sometimes become properties of that object like `err.cause` in the examples above, but that's not strictly required. | ||
| - Podemos heredar de `Error` y otras clases de error incorporadas normalmente. Solo necesitamos cuidar la propiedad `name` y no olvidemos llamar `super`. | ||
| - Podemos usar `instanceof` para verificar errores particulares. También funciona con herencia. Pero a veces tenemos un objeto error que proviene de una biblioteca de terceros y no hay una manera fácil de obtener su clase. Entonces la propiedad `name` puede usarse para tales controles. | ||
| - Excepciones de Ajustes es una técnica generalizada: una función maneja excepciones de bajo nivel y crea errores de alto nivel en lugar de varios errores de bajo nivel. Las excepciones de bajo nivel a veces se convierten en propiedades de ese objeto como `err.cause` en los ejemplos anteriores, pero eso no es estrictamente necesario. No newline at end of file |
There was a problem hiding this comment.
Empacado de excepciones es una técnica generalizada: una función maneja excepciones de bajo nivel y crea errores de alto nivel en lugar de varios errores de bajo nivel. Las excepciones de bajo nivel a veces se convierten en propiedades de ese objeto como err.cause en los ejemplos anteriores, pero eso no es estrictamente necesario.
|
Lo cierro por rama eliminada... |
No description provided.