I don't think anyone is debating whether an API that's documented as returning an error code should in fact do so. The issue is whether APIs should generally return error codes or not. The fact is that failing to check the result of an API call is a very common programming error, and in some cases, not easily detected. The "Writing Solid Code" book discusses this very issue, and I tend to agree with the author. If it can be argued that "this should never happen", then returning an error code when it happens is risky, as the problem is likely to go undetected.
It's especially nice if expensive error checking can be done only in debug ROMs, and since the result of the function can't be any different on debug and release ROMs, the only way to get this improved error checking in debug ROMs is to present a fatal error on debug ROMs. All that said, you may very well have a good reason for calling DmFindRecordByID with invalid unique IDs. Consider this: An errant program mistakenly passes in an invalid unique ID and fails to check the result. It then uses the index to access the record. Can we set the index to a value that will guarantee a fatal error at this point, or will the error continue to go undetected? -- Peter Epstein -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/tech/support/forums/
