Prova e cattura il trapping degli errori, perché è così significativo? [duplicare]

-4

Cerco di capire perché dovrei "provare" un metodo per rilevare gli errori.

Mi sembra che il concetto sia: "lasciar correre un processo assumendo che non sia propriamente sviluppato".

Devo sempre presumere che un programma basato su classi ed eredità sia destinato  errori imprevisti, che dovrei gestire con strumenti come try catch e throw?

Tutti i programmi Java dovrebbero essere inclusi all'interno di try catch framework?

    
posta oded 25.08.2014 - 18:02
fonte

1 risposta

3

it looks to me like the concept is:- ' letting a process run assuming its not properly developed.

Le condizioni di errore sono spesso al di fuori del controllo del programmatore al livello in cui si verificano. La gestione delle eccezioni è un modo per gestire i problemi che si presentano.

Ad esempio, prendi in considerazione un account di acquisto che consente a un utente di ordinare prodotti e pagarli per un conto bancario associato. Se l'account di acquisto è stato impostato correttamente, dovrebbe funzionare bene ogni volta. Ma cosa succede se l'account è stato creato ma nessun conto bancario è mai stato associato all'account di acquisto? Questo è un errore che l'account di acquisto non può (o probabilmente non dovrebbe) gestire da solo.

La gestione delle eccezioni è progettata per aiutare gli errori a propagarsi fino a un livello in cui possono essere gestiti in modo più efficace.

should i always assume that a program based on classes and inheritance is bound for unexpected errors

È probabile che qualsiasi software sufficientemente complesso abbia potenziali errori. Qualsiasi software interessante che viene utilizzato da persone è quasi certamente necessario per gestire gli errori in qualche modo. L'ereditarietà e le classi non hanno necessariamente nulla a che fare con il problema: la gestione delle eccezioni può essere eseguita in linguaggi procedurali come C.

D'altra parte, la gestione delle eccezioni non è l'unico modo per gestire i problemi - Objective-C ha un meccanismo di gestione delle eccezioni, ma il lancio di un'eccezione è solitamente riservato a errori fatali.

which i should handle with such a heavy tools like try catch throw throws ?

Usalo quando è lo strumento giusto per il lavoro. Che si tratti dello strumento giusto o meno dipende in parte dalle convenzioni utilizzate nel contesto in cui lavori, dagli strumenti forniti dalla tua lingua, dalla tua capacità di gestire da solo la condizione di errore, ecc.

should all java programs be included withing try catch framework?

Non necessariamente: alcuni programmi sono abbastanza semplici da non richiedere la gestione delle eccezioni. Ma qualsiasi programmatore Java esperto capirà il meccanismo, sarà preparato a gestire le eccezioni lanciate da qualsiasi classe che usano e sapere quando lanciare un'eccezione.

    
risposta data 25.08.2014 - 18:57
fonte

Leggi altre domande sui tag