Hi Max, I'm fine with your responses, I only have one follow-up question:
On Thu, 2008-08-14 at 15:12 +0800, Max Zhen wrote: > Sebastien Roy wrote: > > In documenting all of the functions, the definition of error semantics > > isn't brought up at all. For a Committed interface, I would expect that > > to be made explicit. I've asked some specific questions regarding > > return values in-line, but this is more of a general comment that I > > think needs to be addressed. > > > In general, error handling in Python code is done by catching the > exception raised by the function it calls. It is required to do so when > writing C extension for Python. > So, in this dlpi module for Python, I followed the requirement by > calling PyErr_SetString(PyExc_OSError, err_code_from_libdlpi_interface) > to raise the exception whenever dlpi interface returns an error. > > So, in C, we check return value for error, but, in Python, we raise > exceptions, instead. And PyErr_setString() is the standard way to raise > an exception in C code for other Python code to catch and handle. Okay, and you're not introducing new exception types that may need to be part of the Committed interface (i.e., you're only throwing "standard" exceptions like RuntimeError)? Thanks, -Seb