Raise and handle exceptions in CPP code

Open
#756 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
cpp

Research direction

Start by reading the referenced SWIG exception-customization documentation and tracing where glog CHECK failures and cuDNN exceptions cross the C++ interface. Define how errors should propagate without aborting a Jupyter or Colab notebook, then verify those behaviors in the relevant notebook or integration checks; no specific files or tests are named in the issue.

Written by the indexing model from the issue text.

Description

Currently, we abort the program when any check fails via glog's CHECK functions.
We do not catch any exceptions like memory exception or cudnn exceptions.

As a result, the program will abort or crash whenever there is an error or exception, which sometimes shutdown the jupyter notebook or colab notebook when we run the code in the notebook environment.

This ticket is to raise and handle exceptions in CPP code.

ref: http://www.swig.org/Doc3.0/SWIGDocumentation.html#Customization_exception

Dominant language
C++
Stars
3.6k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/singa

All issues in apache/singa

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.