Getting exceptions back from calls to embedded python

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • john.pye@gmail.com

    #1

    Getting exceptions back from calls to embedded python

    Hi all,

    I have an application that is using embedded python to offer some
    scripting ability. An API is exposed via SWIG, and I am accessing that
    API from my embedded python interpreter.

    Scripts are present as separate files, and I'm invoking them at present
    using the following:

    iserr = PyRun_AnyFileEx (f,name,1);

    if(iserr){
    /* tell the user */
    return 1;
    }else{
    /* all good */
    return 0;
    }

    My question is, if I want to be able to get information about
    exceptions that have occurred here (perhaps a syntax error, or an
    import error, or perhaps a runtime error), what would be the easiest
    way to do this now?

    I understand that I'm currently using the 'very high level interface'
    for python embedding. What's the easiest next step down that will allow
    me to catch exceptions and report them?

    Would appreciate any thoughts.

    Cheers
    JP

  • Gabriel Genellina

    #2
    Re: Getting exceptions back from calls to embedded python

    At Wednesday 22/11/2006 10:00, john.pye@gmail. com wrote:
    >I have an application that is using embedded python to offer some
    >scripting ability. An API is exposed via SWIG, and I am accessing that
    >API from my embedded python interpreter.
    >
    >Scripts are present as separate files, and I'm invoking them at present
    >using the following:
    >
    iserr = PyRun_AnyFileEx (f,name,1);
    >
    if(iserr){
    /* tell the user */
    return 1;
    }else{
    /* all good */
    return 0;
    }
    >
    >My question is, if I want to be able to get information about
    >exceptions that have occurred here (perhaps a syntax error, or an
    >import error, or perhaps a runtime error), what would be the easiest
    >way to do this now?
    >
    >I understand that I'm currently using the 'very high level interface'
    >for python embedding. What's the easiest next step down that will allow
    >me to catch exceptions and report them?
    I can't verify it right now, but I think that the PyRun_File* family
    would let you call PyErr_Occurred and related functions afterwards.


    --
    Gabriel Genellina
    Softlab SRL

    _______________ _______________ _______________ _____
    Correo Yahoo!
    Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
    ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar

    Comment

    Working...