Estoy usando TypeScript para un proyecto razonablemente grande, y me pregunto cuál es el estándar para el uso de Error
s. Por ejemplo, supongamos que entrego una excepción de índice fuera de límites en Java:
throw new IndexOutOfBoundsException();
¿Sería la declaración equivalente en TypeScript:
throw new Error("Index Out of Bounds");
¿De qué otras maneras podría lograr esto? ¿Cuál es el estándar aceptado?
fuente
RangeError
. ¿Debería definir tipos personalizados o simplementethrow new Error("<message>");
?Se utiliza la convención para fuera de rango en JavaScript
RangeError
. Para verificar el tipo, use if / else +instanceof
comenzando por el más específico al más genéricofuente
else { throw; }
aquíSolución simple para emitir y mostrar mensajes por Excepción.
Precaución
Lo anterior no es una solución si no sabemos qué tipo de error puede emitirse desde el bloque. En tales casos, se deben usar protectores de tipo y se debe realizar un manejo adecuado para el error adecuado: eche un vistazo a la respuesta @Moriarty.
fuente
<Error>
es decirle al compilador de TS quee
aquí es de tipo<Error>
para que tenga (1) intellisense y (2) una mejor verificación de tipo. Sin embargo, tenga en cuenta que cualquier molde no se traduce en JS en absoluto y es azúcar puramente sintáctico.No te olvides de las declaraciones de cambio:
default
.instanceof
puede coincidir en superclase.constructor
coincidirá en la clase exacta.fuente