Title: [IronPython] New proposed exception model for IronPython

Personally, what I would propose would be:

  • Python libraries throw python exceptions.
  • .Net libs ought to throw .Net exceptions
  • Where python libs are implemented using .Net libs, .Net exceptions ought to be wrapped with python libs to the fullest extent reasonably possible.

I believe these three points would lead to a consistent behavior and compatibility with CPython based scripts.

 

While I like Keith’s suggestion of a file-scoped mapping, I’m worried it might even further complicate matters by having to compensate for both schemes (throwing python exceptions, versus throwing .Net exceptions).  I make my suggestion of having it effectively left up to the library implementer because I think it is reasonable to expect standard python libraries to throw python exceptions.  I also think its reasonable that if you are using ironpython specific libraries (or .Net libs directly) to expect to have to handle .Net exceptions.

 

I’m happy to see the progress that is being made with the new releases (especially with regards to regex support).  I think we’re fast approaching the point where ironpython can be used as a replacement for CPython.

 

Thanks,

Nathan Ernst

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Keith J. Farmer
Sent: Thursday, December 15, 2005 7:27 PM
To: Discussion of IronPython
Subject: RE: [IronPython] New proposed exception model for IronPython

 

It's something that should be scoped at the source file level or lower.  Otherwise, someone could map Foo exception to PythonFoo exception, someone else could map Foo to PythonBar, and some poor slob would be left wondering why the first bit of code is suddenly misbehaving.

 

#BeginMapException <CliException1> <PythonException1>

...

    #BeginMapException <CliException2> <PythonException2>

    ...

    #EndMapException <CliException2>

...

#EndMapException <CliException1>

 

#BeginMapException <CliException1> <PythonException3>

...

#EndMapException <CliException1>

 


From: [EMAIL PROTECTED] on behalf of Dino Viehland
Sent: Thu 12/15/2005 3:40 PM
To: Discussion of IronPython
Subject: Re: [IronPython] New proposed exception model for IronPython

It’s an extremely interesting idea and one that I personally like.  Being the new guy I’ll want to hear Jim and Martin’s input too J.

 

Ultimately there’s no reason why we couldn’t either expose supplementary dictionaries that provide for user-defined exception translation or even to expose the dictionaries that we use internally (to allow modifying the systems defaults).  It also seems like it’d be a great way to keep the exception system highly dynamic and give the advanced Python developer more control of it.

 

I’ll make sure to make a note of this to see if we can get it included.

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Keith J. Farmer
Sent: Thursday, December 15, 2005 3:25 PM
To: Discussion of IronPython
Subject: Re: [IronPython] New proposed exception model for IronPython

 

Would there be a way to map new exceptions between IP and the CLI?

 

For example, if I create a new Python exception, and want to bind it to System.ArgumentException, or convsersely if I create a new CLI exception that I want to map to a Python equivalent.  This would be an IronPython-ism, but a worthwhile one I think.


 

_______________________________________________
users mailing list
users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to