forked from mindspore-Ecosystem/mindspore
!2339 support catch IndexError in C++
Merge pull request !2339 from zhangbuxue/support_catch_index_error_in_c++
This commit is contained in:
commit
2d6d3cc86b
|
@ -540,6 +540,9 @@ bool ExecutorPy::Compile(const py::object &obj, const py::tuple &args, const py:
|
|||
} catch (const py::value_error &ex) {
|
||||
ReleaseResource(phase);
|
||||
throw py::value_error(ex);
|
||||
} catch (const py::index_error &ex) {
|
||||
ReleaseResource(phase);
|
||||
throw py::index_error(ex);
|
||||
} catch (const std::exception &ex) {
|
||||
ReleaseResource(phase);
|
||||
// re-throw this exception to Python interpreter to handle it
|
||||
|
|
|
@ -80,6 +80,17 @@ class NetWork_3(Cell):
|
|||
return res
|
||||
|
||||
|
||||
class NetWorkOutOfBounds(Cell):
|
||||
""" NetWork_3 definition """
|
||||
|
||||
def __init__(self):
|
||||
super(NetWorkOutOfBounds, self).__init__()
|
||||
self.addN = P.AddN()
|
||||
|
||||
def construct(self, tensor_tuple):
|
||||
return tensor_tuple[100]
|
||||
|
||||
|
||||
test_cases = [
|
||||
('SlicePositive', {
|
||||
'block': NetWork_1(),
|
||||
|
@ -104,16 +115,23 @@ test_cases = [
|
|||
test_cases_for_verify_exception = [
|
||||
('SliceStartCross', {
|
||||
'block': (NetWork_3(), {'exception': RuntimeError}),
|
||||
'desc_inputs': [*(Tensor(np.ones([2, 3, 4], np.int32)),
|
||||
Tensor(np.zeros([2, 3, 4], np.int32)),
|
||||
Tensor(np.ones([2, 3, 4], np.int32)))],
|
||||
'desc_inputs': [Tensor(np.ones([2, 3, 4], np.int32)),
|
||||
Tensor(np.zeros([2, 3, 4], np.int32)),
|
||||
Tensor(np.ones([2, 3, 4], np.int32))],
|
||||
}),
|
||||
('SliceStepZero', {
|
||||
'block': (NetWork_3(), {'exception': RuntimeError}),
|
||||
'desc_inputs': [*(Tensor(np.ones([2, 3, 4], np.int32)),
|
||||
Tensor(np.zeros([2, 3, 4], np.int32)),
|
||||
Tensor(np.ones([2, 3, 4], np.int32)))],
|
||||
'desc_inputs': [Tensor(np.ones([2, 3, 4], np.int32)),
|
||||
Tensor(np.zeros([2, 3, 4], np.int32)),
|
||||
Tensor(np.ones([2, 3, 4], np.int32))],
|
||||
}),
|
||||
('SliceOutOfBounds', {
|
||||
'block': (NetWorkOutOfBounds(), {'exception': IndexError}),
|
||||
'desc_inputs': [(Tensor(np.ones([2, 3, 4], np.int32)),
|
||||
Tensor(np.zeros([2, 3, 4], np.int32)),
|
||||
Tensor(np.ones([2, 3, 4], np.int32)))],
|
||||
}),
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue