On Apr 6, 2011, at 11:04 AM, canduc17 wrote: > I have this incorrect code: > try > { > myDataset = (GDALDataset *) GDALOpen( "myimg", GA_ReadOnly ); > } > catch(int n) > { > cout << "File not existent!" << endl; > return 14; > } >
You need to implement your own error handler if you want GDAL to throw exceptions when it can open something. The following example throws an error if there was a CE_Failure or CE_Fatal and merely puts out the debug message if there is debug info. > #include <gdal.h> > #include <stdexcept> > #include <sstream> > #include <iostream> > void CPL_STDCALL HobusGDALErrorHandler(CPLErr eErrClass, int err_no, const > char *msg); > > void CPL_STDCALL HobusGDALErrorHandler(CPLErr eErrClass, int err_no, const > char *msg) > { > std::ostringstream oss; > > if (eErrClass == CE_Failure || eErrClass == CE_Fatal) { > oss <<"GDAL Failure number=" << err_no << ": " << msg; > throw exception(oss.str()); > } else if (eErrClass == CE_Debug) { > std::cout << "GDAL Debug: " << msg << std::endl; > } else { > return; > } > } Hope this helps, Howard_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev