Al mio lavoro devo mantenere alcuni progetti C#. Lo sviluppatore originale non è più in giro. Ultimamente ho notato un po 'strano codice per lo più si trovano in situazioni come questa:Strana eccezione Gestione manichino istruzione
try
{
//some Code
}
catch
{
0.ToString();
}
Qual è il 0.ToString()
per? La maggior parte del codice è stato scritto sotto stress, così posso pensare a due possibilità:
- Si tratta di un segnaposto (come
//TODO
), per i quali possono essere cercati per sapere dove avete per risolvere alcune cose. - È per evitare avvisi durante la compilazione di clausole di cattura vuote.
C'è qualche altro usecase o senso in questo? Questo stile o pratica di codifica buono/cattivo? Dal momento che questa istruzione non fa nulla, avrà un piccolo impatto sulle prestazioni o il compilatore lo rimuoverà? Quali sono i modi migliori per fare qualcosa come
L'unico motivo logico sarebbe avere un codice lì in modo da poter impostare un punto di interruzione per l'eccezione che viene lanciata, anche se non è un buon modo per farlo; p – leppie
Sto supponendo che O sia un 'oggetto' con' valore null' e c'è un punto di interruzione per 'NullReferenceException' –
Suoni come il programmatore originale avrebbe dovuto scrivere alcuni test ... Quel detentore del debug breakpoint sta soffocando anche eventuali eccezioni ... –