Click here to Skip to main content
15,881,687 members

The Weird and The Wonderful

   

The Weird and The Wonderful forum is a place to post Coding Horrors, Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrassing mistakes, horrid workarounds and developers just not quite getting it. And then somedays we come across - or write - the truly sublime.

Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets. All actual programming questions will be removed.

 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Mohammed Hameed19-Jun-13 21:20
professionalMohammed Hameed19-Jun-13 21:20 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Rob Grainger24-Jun-13 0:02
Rob Grainger24-Jun-13 0:02 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Jarek Kruza19-Jun-13 21:56
Jarek Kruza19-Jun-13 21:56 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Mohammed Hameed19-Jun-13 22:08
professionalMohammed Hameed19-Jun-13 22:08 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Jarek Kruza20-Jun-13 1:30
Jarek Kruza20-Jun-13 1:30 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Rob Grainger24-Jun-13 0:04
Rob Grainger24-Jun-13 0:04 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Mohammed Hameed24-Jun-13 0:31
professionalMohammed Hameed24-Jun-13 0:31 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Chris Ross 224-Jun-13 2:32
Chris Ross 224-Jun-13 2:32 
I concur. Further, once the exception has been handled there should (normally) be no need to rethrow it.

This rule leads to the useful guidline: catch exceptions at the lowest level where they can be meaningfully (i.e. completely) handled.

The exception to the no-need-to-rethrow rule is when some cleanup action is needed as the stack is unwound. In that case, catch the specific type of exception, do the local cleanup only, and rethrow (ideally, using throw without a paramter - to preserve the stack trace). Do not duplicate the work that will be done in the can-meaningfully-handle-it catch block (such as logging, notifying the user, clearing context).

Note that the using (...){...} construct implicitly follows this rule: in the event that the contained block of code throws an exception, it will automatically invoke the Dispose() method on the item allocated by the using() statement.
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Rob Grainger24-Jun-13 4:08
Rob Grainger24-Jun-13 4:08 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
V.19-Jun-13 23:25
professionalV.19-Jun-13 23:25 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Mohammed Hameed19-Jun-13 23:56
professionalMohammed Hameed19-Jun-13 23:56 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
cjb11020-Jun-13 0:12
cjb11020-Jun-13 0:12 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Mohammed Hameed20-Jun-13 0:26
professionalMohammed Hameed20-Jun-13 0:26 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
V.20-Jun-13 0:31
professionalV.20-Jun-13 0:31 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Mohammed Hameed20-Jun-13 1:11
professionalMohammed Hameed20-Jun-13 1:11 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Richard Deeming20-Jun-13 1:36
mveRichard Deeming20-Jun-13 1:36 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
V.20-Jun-13 1:39
professionalV.20-Jun-13 1:39 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
AnalogNerd24-Jun-13 2:26
AnalogNerd24-Jun-13 2:26 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
Mohammed Hameed24-Jun-13 2:37
professionalMohammed Hameed24-Jun-13 2:37 
GeneralRelational database reinvented as a flat file... Pin
johnsyd19-Jun-13 19:58
johnsyd19-Jun-13 19:58 
GeneralRe: Relational database reinvented as a flat file... Pin
AlexCode19-Jun-13 20:25
professionalAlexCode19-Jun-13 20:25 
GeneralRe: Relational database reinvented as a flat file... Pin
johnsyd19-Jun-13 21:22
johnsyd19-Jun-13 21:22 
GeneralRe: Relational database reinvented as a flat file... Pin
NormDroid19-Jun-13 20:43
professionalNormDroid19-Jun-13 20:43 
GeneralRe: Relational database reinvented as a flat file... Pin
AlexCode19-Jun-13 21:26
professionalAlexCode19-Jun-13 21:26 
GeneralRe: Relational database reinvented as a flat file... Pin
Richard Deeming20-Jun-13 1:32
mveRichard Deeming20-Jun-13 1:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.