In the work I was doing with the scripted ThreadPlans & Breakpoint Callbacks, 
I've been introducing Status objects into these calls in python-wrapper.swig 
(usually you have to start from the ScriptInterpreter API's, so we can report 
errors.  That way I could catch errors with wrong number of arguments and the 
like.  Whenever that's possible it seems preferable.

Jim


> On Oct 28, 2019, at 7:28 AM, Pavel Labath via Phabricator 
> <revi...@reviews.llvm.org> wrote:
> 
> labath added inline comments.
> 
> 
> ================
> Comment at: lldb/scripts/Python/python-wrapper.swig:64
> 
> +    unsigned max_positional_args = PythonCallable::ArgInfo::UNBOUNDED;
> +    if (auto arg_info = pfunc.GetArgInfo()) {
> ----------------
> lawrence_danna wrote:
>> labath wrote:
>>> Is there any case where fetching the argument info will fail, but we still 
>>> can successfully call the target object? Should we just bail out here?
>> probably not?     My thinking is that since there's no meaningful way to 
>> return an error from this function we may as well try to call it and let the 
>> exception get logged.   But I dunno.    Should I change it?
> Hmm... In that case, I think it would be better to print the error which 
> caused the ArgInfo fetching to fail. Given that, in the new way of doing 
> things, the `PyErr_Cleaner` object is not going to work anyway, we might as 
> well use this opportunity to create a different mechanism for printing 
> exceptions.
> 
> 
> Repository:
>  rG LLVM Github Monorepo
> 
> CHANGES SINCE LAST ACTION
>  https://reviews.llvm.org/D69468/new/
> 
> https://reviews.llvm.org/D69468
> 
> 
> 

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to