Pt. urmatoarea functionalitate, voi cum ati face error handling?
async function update(record) {
const schema = schemas.get(record.type)
if (!schema) {
// operational error: user can type an invalid record type
}
const errors = schema.validate(record)
if (errors) {
// operational error: user data is not schema valid
// need to propagate errors to client
}
// operational error: record.email must be unique
// programmer error: invalid table name
await table.update({ id: record.id }, record)
}
Odata ar fi un split intre eroare care se va returna la client si ce se salveaza pe server in loguri pentru o analiza ulterioara.
Client
Functie de cat de detaliat se vrea:
a. O eroare generica cu un try catch global, fara mai multe informatii.
b. HTTP 400 pentru probleme de request de la client cu un payload de error code si error message, 500 pentru problemele la salvare in storage.
Server
Informatii despre request, client/sesiune, environment, …