Gestione dell'errore nei dati: approccio idempotente

1

Una domanda precedente aveva una risposta che mi interessava dal punto di vista del design. Lavoro in dati geospaziali e occasionalmente devo occuparmi di vuoti quando leggo questi file binari nel mio prodotto. Qual è il modo migliore per gestire i vuoti durante la loro lettura: genera un'eccezione quando li incontri o li restituisci immediatamente. Credo che una delle risposte che ho letto parlasse di ritorno piuttosto che di un'eccezione. Attualmente ritorno piuttosto che lanciare un'eccezione. Ma mi chiedevo se questo fosse l'approccio migliore.

    
posta gansub 26.01.2015 - 10:39
fonte

1 risposta

4

Quando decidi tra lanciare un'eccezione o restituire un codice di errore, ci sono alcune considerazioni da tenere in considerazione.

Il principale è quanto è eccezionale la situazione . Sta ricevendo dati con vuoti in loro qualcosa che non dovrebbe accadere (e un'indicazione che da qualche parte qualcosa è andato veramente male), o è qualcosa che il tuo algoritmo dovrebbe essere in grado di trattare con grazia. Se non dovrebbe accadere, allora questo è un strong indicatore per l'utilizzo di un'eccezione.

Una seconda considerazione che uso spesso (e le opinioni divise se è una considerazione valida) è se è possibile che il chiamante immediato risolva il problema . Se so in anticipo che il chiamante immediato è improbabile che sia in grado di fare qualcosa per un errore che segnali, tranne che per passare il dollaro alla catena di chiamate, allora sono più propenso a usare un'eccezione per segnalare l'errore perché è meno errore -proprio di lasciare che un'eccezione salga nella catena di chiamate piuttosto che segnalare un codice di errore su più livelli.

    
risposta data 26.01.2015 - 13:05
fonte

Leggi altre domande sui tag