Saltar al contenido principal

Manejo de errores

Todas las funciones que lanzan excepciones en v3 generan un DrUtilsError en lugar de un Error genérico. Puedes importarlo desde dr-utils/errors y distinguir por su campo .code.

import { parseCedula } from 'dr-utils'
import { DrUtilsError } from 'dr-utils/errors'

try {
parseCedula('invalido')
} catch (e) {
if (e instanceof DrUtilsError) {
console.error(e.code) // 'INVALID_CEDULA'
console.error(e.message) // '"invalido" is not a valid cedula.'
}
}

DrUtilsError extiende Error, por lo que los checks instanceof Error existentes siguen funcionando.

Códigos de error

CódigoLanzado por
INVALID_CEDULAparseCedula, formatCedula, maskCedula
INVALID_RNCparseRNC, formatRNC, maskRNC
INVALID_NCFparseNCF, formatNCF
INVALID_PHONEparsePhoneNumber, formatPhoneNumber, maskPhoneNumber
INVALID_PLATEparsePlate, formatPlate
FORMAT_CEDULA_FAILEDformatCedula
FORMAT_RNC_FAILEDformatRNC
FORMAT_NCF_FAILEDformatNCF
FORMAT_PHONE_FAILEDformatPhoneNumber
FORMAT_PLATE_FAILEDformatPlate
ITBIS_NEGATIVEapplyItbis, removeItbis, splitItbis
AMOUNT_TO_WORDS_OUT_OF_RANGEamountToWords

Usar safe parsers para evitar excepciones

Si prefieres no usar try/catch, usa las variantes safe parser que retornan { ok: true, value } | { ok: false, error }.