2015-09-18 6 views
5

Come posso verificare se un getter/setter di una proprietà in una classe ha generato un'eccezione? (Prima di accedervi)Come verificare se una proprietà di una classe ha generato un'eccezione

Esempio

Per esempio, in questo quadro, di proprietà di un processo ExitTime ha generato un'eccezione di tipo System.InvalidOperationException

enter image description here

Se uso process.ExitTime, ottengo un'altra eccezione di runtime: No process is associated with this object.

+1

Buona domanda. Ho avuto proprietà che hanno causato eccezioni, specialmente se una proprietà che è anche una fabbrica (Get Property crea un'istanza se non esiste già). In tal caso, non ricevo mai un errore e può essere difficile rintracciare. – jp2code

risposta

5

Tecnicamente non ha emesso un'eccezione prima di utilizzare il metodo accessor. L'unica ragione per cui la finestra lo mostra è perché ha cercato di ottenere la proprietà.

Quindi non è possibile rilevare questo. Tutto quello che puoi fare è racchiudere il codice di accesso in un blocco try/catch per rilevare l'eccezione quando viene lanciata.