diff --git a/src/runtime/converter.cs b/src/runtime/converter.cs index 6bcf3fb59..ba04933f7 100644 --- a/src/runtime/converter.cs +++ b/src/runtime/converter.cs @@ -361,6 +361,12 @@ internal static bool ToManagedValue(IntPtr value, Type obType, } result = cb.type.Value; return true; + + case null: + break; + + default: + throw new ArgumentException("We should never receive instances of other managed types"); } if (value == Runtime.PyNone && !obType.IsValueType) @@ -513,7 +519,7 @@ internal static bool ToManagedValue(IntPtr value, Type obType, { if (setError) { - Exceptions.SetError(ex.InnerException); + Exceptions.SetError(ex); } return null; }