@@ -1150,7 +1150,7 @@ unwind_jump:;
11501150 mp_obj_t obj = mp_make_raise_obj (TOP ());
11511151 #if MICROPY_CPYTHON_EXCEPTION_CHAIN
11521152 mp_obj_t active_exception = get_active_exception (exc_sp , exc_stack );
1153- if (active_exception != MP_OBJ_NULL ) {
1153+ if (active_exception != MP_OBJ_NULL && active_exception != obj ) {
11541154 mp_store_attr (obj , MP_QSTR___context__ , active_exception );
11551155 }
11561156 #endif
@@ -1164,7 +1164,7 @@ unwind_jump:;
11641164 #if MICROPY_CPYTHON_EXCEPTION_CHAIN
11651165 // search for the inner-most previous exception, to chain it
11661166 mp_obj_t active_exception = get_active_exception (exc_sp , exc_stack );
1167- if (active_exception != MP_OBJ_NULL ) {
1167+ if (active_exception != MP_OBJ_NULL && active_exception != obj ) {
11681168 mp_store_attr (obj , MP_QSTR___context__ , active_exception );
11691169 }
11701170 mp_store_attr (obj , MP_QSTR___cause__ , cause );
@@ -1463,7 +1463,7 @@ unwind_jump:;
14631463 exc_sp -> prev_exc = nlr .ret_val ;
14641464 mp_obj_t obj = MP_OBJ_FROM_PTR (nlr .ret_val );
14651465 #if MICROPY_CPYTHON_EXCEPTION_CHAIN
1466- if (active_exception != MP_OBJ_NULL ) {
1466+ if (active_exception != MP_OBJ_NULL && active_exception != obj ) {
14671467 mp_store_attr (obj , MP_QSTR___context__ , active_exception );
14681468 }
14691469 #endif
0 commit comments