Feb. 27, 2004
6:18 p.m.
Robert Reif a écrit : > I'm looking at how windows deals with invalid > parameters in some of the winmm functions and > it raises some questions. Sometimes they will check > the parameters and return an error code and > sometimes they will let a bad parameter cause > a first-chance exception and catch it and return > an error code. > > Is it ok to do a simple NULL pointer check and return an > error rather than letting it cause an exception and catching > it? If not, what's the best way to catch the exception and > return the proper error code? the normal rule of thumbs is: - don't use exception unless you have to (ie, we have a clear case of an application requiring that feature) => first implementation should be only based on NULL pointer testing - if you need to go further, then setting an exception handler is the thing to do (using IsBadReadPtr or IsBadWritePtr is a not 100% safe, especially in multi-threaded environments) A+