NetCDF  4.3.2
 All Data Structures Files Functions Variables Typedefs Macros Modules Pages
NetCDF Error Handling

NetCDF functions non-zero status codes on error. More...

NetCDF functions non-zero status codes on error.

Given an error number, return an error message.

Each netCDF function returns an integer status value. If the returned status value indicates an error, you may handle it in any way desired, from printing an associated error message and exiting to ignoring the error indication and proceeding (not recommended!). For simplicity, the examples in this guide check the error status and call a separate function, handle_err(), to handle any errors. One possible definition of handle_err() can be found within the documentation of nc_strerror().

The nc_strerror() function is available to convert a returned integer error status into an error message string.

Occasionally, low-level I/O errors may occur in a layer below the netCDF library. For example, if a write operation causes you to exceed disk quotas or to attempt to write to a device that is no longer available, you may get an error from a layer below the netCDF library, but the resulting write error will still be reflected in the returned status value.

This function returns a static reference to an error message string corresponding to an integer netCDF error status or to a system error number, presumably returned by a previous call to some other netCDF function. The error codes are defined in netcdf.h.

Parameters
ncerr1error number
Returns
short string containing error message.

nc_strerror Example

Here is an example of a simple error handling function that uses nc_strerror to print the error message corresponding to the netCDF error status returned from any netCDF function call and then exit:

#include <netcdf.h>
...
void handle_error(int status) {
if (status != NC_NOERR) {
fprintf(stderr, "%s\n", nc_strerror(status));
exit(-1);
}
}

Return to the Main Unidata NetCDF page.
Generated on Sun Nov 23 2014 16:20:10 for NetCDF. NetCDF is a Unidata library.