Quando si introducono nuovi tipi di eccezioni, sono sempre un ma incerto su come farlo correttamente. C'è una convenzione comune? Come si fa?Come denominate e organizzate le vostre eccezioni?
Sono interessato l'ambito si organizzarli (Tenerli nell'unità vengono utilizzati in? Avere un'unità a livello di componente? Livello di pacchetto? Applicazione?)
questo influenza anche la denominazione. Quanto contesto includi? È meglio renderli molto specifici (come EPersonIDNotFoundError) o provare a renderli riutilizzabili (come ENotFoundError)?
E il suffisso "Errore" - quando devo aggiungerlo e quando lo si lascia? Non riesco a vedere la logica, ad es. in Classes.pas
:
EWriteError = class(EFilerError);
EClassNotFound = class(EFilerError);
EResNotFound = class(Exception);
Penso che sia opportuno organizzare eccezioni per gravità e per pacchetto. Per gravità es. eccezioni di convalida separate dagli errori di caricamento/salvataggio dei dati. L'istanza dell'eccezione può contenere dettagli più specifici sull'occasione in cui si è verificata. – too
Questa non è una domanda ... Troppe domande contemporaneamente, con qualche potenziale dibattito (trolling?). IMHO questo non si adatta bene allo scopo SO. –
@Arnaud Bene, fammi provare a rispondere a questo. Perché apprezzo molto l'input. –