Skip to content

Commit 173c446

Browse files
committed
Array property may now raise std::invalid_argument().
1 parent 088d7f2 commit 173c446

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

dynd/cpp/array.pxd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ cdef extern from 'dynd/array.hpp' namespace 'dynd::nd' nogil:
2929
intptr_t get_dim_size() except +translate_exception
3030
intptr_t get_dim_size(intptr_t) except +translate_exception
3131

32-
array p(string)
32+
array p(string) except +translate_exception
3333

3434
char *data() const
3535
const char *cdata() const

dynd/nd/array.pyx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,10 @@ cdef class array(object):
262262
if (pair.first == <string> name):
263263
return dynd_nd_array_from_cpp(pair.second(self.v))
264264

265-
return dynd_nd_array_from_cpp(self.v.p(name))
265+
try:
266+
return dynd_nd_array_from_cpp(self.v.p(name))
267+
except ValueError:
268+
raise AttributeError(name)
266269

267270
def __setattr__(self, name, value):
268271
if self.v.is_null():

0 commit comments

Comments
 (0)