Click here to Skip to main content
15,888,521 members

Survey Results

Which of the following issues are best handled using Exceptions?

Survey period: 9 Feb 2015 to 16 Feb 2015

Exception handling provides a way to deal with any unexpected or exceptional situations. Define "unexpected".

OptionVotes% 
My bad code (null reference, divide by zero, index out of range etc)53645.85
Errors due to failed network connection70260.05
External Resource (eg webservice) not found or available66556.89
Backend server fails (eg internal database or cache server goes down)70560.31
Local resource access fails (eg can't open a file)63254.06
Timeout (database, file access, network connection)65556.03
Invalid parameter values36731.39
Invalid data supplied by the user30225.83
Respondents were allowed to choose more than one answer; totals may not add up to 100%



 
GeneralWell... Pin
#realJSOP13-Feb-15 5:22
mve#realJSOP13-Feb-15 5:22 
GeneralRe: Well... Pin
H.Brydon13-Feb-15 13:09
professionalH.Brydon13-Feb-15 13:09 
GeneralIt depends on the used language Pin
Daniel Lieberwirth (BrainInBlack)13-Feb-15 1:49
professionalDaniel Lieberwirth (BrainInBlack)13-Feb-15 1:49 
GeneralOnly unpredictable errors Pin
Węgierski.A12-Feb-15 4:14
Węgierski.A12-Feb-15 4:14 
GeneralCListCtrl Pin
megaadam11-Feb-15 13:33
professionalmegaadam11-Feb-15 13:33 
GeneralExceptions are NOT control flow logic... Pin
kdmote11-Feb-15 10:07
kdmote11-Feb-15 10:07 
GeneralMessage Removed Pin
11-Feb-15 4:45
professionalN_tro_P11-Feb-15 4:45 
GeneralRe: Quite the variance Pin
H.Brydon13-Feb-15 13:05
professionalH.Brydon13-Feb-15 13:05 
GeneralMessage Removed Pin
17-Feb-15 7:50
professionalN_tro_P17-Feb-15 7:50 
AnswerNo entry for 'none of the above' Pin
H.Brydon10-Feb-15 12:43
professionalH.Brydon10-Feb-15 12:43 
GeneralRe: No entry for 'none of the above' Pin
PIEBALDconsult12-Feb-15 9:58
mvePIEBALDconsult12-Feb-15 9:58 
GeneralInvalid... PinPopular
Nelek10-Feb-15 10:06
protectorNelek10-Feb-15 10:06 
GeneralNone of the list qualifies as exceptions PinPopular
Cristian Amarie9-Feb-15 23:40
Cristian Amarie9-Feb-15 23:40 
GeneralRe: None of the list qualifies as exceptions Pin
Ștefan-Mihai MOGA10-Feb-15 0:10
professionalȘtefan-Mihai MOGA10-Feb-15 0:10 
GeneralRe: None of the list qualifies as exceptions PinPopular
Daniel Pfeffer10-Feb-15 2:45
professionalDaniel Pfeffer10-Feb-15 2:45 
GeneralRe: None of the list qualifies as exceptions Pin
Cristian Amarie10-Feb-15 3:14
Cristian Amarie10-Feb-15 3:14 
GeneralRe: None of the list qualifies as exceptions Pin
VadimAlk10-Feb-15 15:54
VadimAlk10-Feb-15 15:54 
GeneralRe: None of the list qualifies as exceptions Pin
Cristian Amarie10-Feb-15 18:29
Cristian Amarie10-Feb-15 18:29 
GeneralRe: None of the list qualifies as exceptions Pin
VadimAlk12-Feb-15 12:37
VadimAlk12-Feb-15 12:37 
GeneralExceptions should only used when low-level code has no reasonable way to handle the error Pin
Daniel Pfeffer9-Feb-15 22:14
professionalDaniel Pfeffer9-Feb-15 22:14 
Bad code and invalid parameters should be caught using an assert() statement or equivalent. The idea here is that if these bugs occur, you have a serious logic error in your code, and the program should terminate immediately - even if recovery is possible, it is no longer safe.

User input, sensor input, etc. should be validated. A user input validation error may be fixed by asking the user to correct the error.

Bad sensor input cannot be fixed, but some sort of low-level handling policy should be in place - filtering of extreme values, smoothing, etc. Only if the data are verifiably erroneous (e.g. because of a bad sensor) should an exception be thrown - this is similar to the case of a bad network connection, where no data are available. Note that if a verified reading exceeds the "safe" range, this is not exceptional; it should be handled in the normal code, just like any other reading.

A network error etc. cannot be handled at the low level - the network I/O module has no way to know whether it should retry the operation, fall back to an backup link, etc., and therefore throwing an exception is the appropriate way to handle this.
If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.

--Winston Churchill

GeneralRe: Exceptions should only used when low-level code has no reasonable way to handle the error Pin
Cristian Amarie9-Feb-15 23:42
Cristian Amarie9-Feb-15 23:42 
GeneralRe: Exceptions should only used when low-level code has no reasonable way to handle the error Pin
Daniel Pfeffer10-Feb-15 2:35
professionalDaniel Pfeffer10-Feb-15 2:35 
GeneralRe: Exceptions should only used when low-level code has no reasonable way to handle the error Pin
Cristian Amarie10-Feb-15 3:17
Cristian Amarie10-Feb-15 3:17 
GeneralRe: Exceptions should only used when low-level code has no reasonable way to handle the error Pin
Daniel Pfeffer10-Feb-15 20:46
professionalDaniel Pfeffer10-Feb-15 20:46 
GeneralAll of the above Pin
Ainy Mughal9-Feb-15 20:49
Ainy Mughal9-Feb-15 20:49 

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.