Click here to Skip to main content
15,867,568 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: Something is not as I expected Pin
DarkChuky CR12-Jul-13 13:11
DarkChuky CR12-Jul-13 13:11 
GeneralEverywhere a single Catch block used catching top Exception all times. Pin
Mohammed Hameed19-Jun-13 20:28
professionalMohammed Hameed19-Jun-13 20:28 
GeneralRe: Everywhere a single Catch block used catching top Exception all times. Pin
cjb11019-Jun-13 21:13
cjb11019-Jun-13 21:13 
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 
Mohammed Hameed wrote:
So you mean you support placing try/catch blocks everywhere and catching the
main Exception everywhere, right?

Well it depens on your code structure...

Let's say you have the SaveRecord() method. This method is fired from UI and saves the record in DB.
Inside we have code dealing with database surrounded with try/catch(SQLException).
DB code throws SQLException as the DB is down, in catch we log the exception and throw custom RecordNotSavedExecption. UI part catches that and displays message to user.
Or returns false instead true, depending on your pattern.
That's the predictable and desired part.

Now if some other code in SaveRecord() throws OutOfMemoryException then we can:
1. Catch noting - we have OS/Framework unhandled exception. Bad.
2. We can catch all on application level (in one place in code), display generic error message to user, log the error and continue/close the app. Good.
3. We can catch generic Exception in SaveRecord(), log and throw custom RecordNotSavedExecption. Then we have above plus we just cancel the failing operation - not close the whole app. Better?

Mohammed Hameed wrote:
But I'm still not supporting this practice

There are many patterns and practices, generally it's good to suport just one. Wink | ;)
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 
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 

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.