aleschopf / MeasurementReadApi

MIT License
2 stars 1 forks source link

Adicionar custom errors #3

Open CaioHVectorA opened 2 months ago

CaioHVectorA commented 2 months ago

Em algumas partes da aplicação, como no uploadController.ts, temos o código:

   try {
     // algum código aqui...
    } catch (error) {
        console.log(error)
        if (error instanceof Error) {
            if (error.message === 'Missing required fields') {
                res.status(400).json({ error_code: 'INVALID_DATA', error_description: error.message });
            } else if (error.message === 'A reading for this month and type already exists') {
                res.status(409).json({ error_code: 'DOUBLE_REPORT', error_description: error.message });
            } else {
                res.status(500).json({ error_code: 'SERVER_ERROR', error_description: 'An unexpected error occurred' });
            }
    }
    }

Funciona, é claro, mas ficaria mais eficiente se fosse um Custom Exception, onde na root da aplicação usa-se um try catch global e reconhece se é uma exception "proposital" ou um fatal error.