Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Here is the implementation of dmlc::Error: https://github.com/dmlc/dmlc-core/blob/master/include/dmlc/logging.h#L31

Here are a few examples for the other exceptions inheriting from dmlc::Error: https://github.com/apache/incubator-mxnet/blob/master/src/operator/operator_common.h#L74

and https://github.com/apache/incubator-mxnet/blob/master/src/operator/operator_common.h#L85

Improved Exception Types for the Frontend Language Bindings - (Python, Scala, Perl..)

Will require a mapping of error codes and corresponding frontend exceptions.

The setting of error code for the frontend exception currently happens here: https://github.com/apache/incubator-mxnet/blob/master/src/c_api/c_api_common.h#L59

Frontend exception checking for Python example: https://github.com/apache/incubator-mxnet/blob/master/python/mxnet/base.py#L137

Support for handling exception thrown from consumed libraries

Currently we are handling only dmlc::Error and terminating the process for other exceptions. Once we have finished the above two tasks,

It should be easy to add exception mapping in the frontend corresponding to std::exception in backend. This will ensure that all exceptions inheriting from dmlc::Error 

and std::exception are handled and propagated to frontend.

 I