From: SourceForge.net <no...@so...> - 2006-07-31 10:29:31
|
Bugs item #1531644, was opened at 2006-07-31 12:29 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1531644&group_id=12867 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Core Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nicolas Duboc (nduboc) Assigned to: Nobody/Anonymous (nobody) Summary: import * makes java exception uncatchable Initial Comment: I'm investigating an old bug registered against the Debian package of Jython : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=281038 While searching on the web for similar problems I found this thread : http://mail.python.org/pipermail/python-list/2004-August/232592.html I think the root problem may be the same. But it does not contain any answer. I think I have reduced the problem to a problem with "import *" : --------------------------------- import java java.lang.Class.forName('org.postgresql.Driver') try: con= java.sql.DriverManager.getConnection('jdbc:postgresql:skdb', 'admin', '') # raise an SQLException because I have no postgres server except java.sql.SQLException, e: print 'Caught SQLException' print 'Class:', e.getClass().getName() print 'Base class:', e.getClass().getSuperclass().getName() else: print 'UnCaught' --------------------------------- On my Debian testing box, with Jython 2.1, the Postgres java driver and java1.5.0_06 (Debian package of Sun JDK), this code prints : --------------------------------- Caught SQLException Class: org.postgresql.util.PSQLException Base class: java.sql.SQLException --------------------------------- Now consider this code : --------------------------------- from java.lang import Class from java.lang import Exception as JavaException from java.sql import * Class.forName('org.postgresql.Driver') try: con= DriverManager.getConnection('jdbc:postgresql:skdb', 'admin', '') # raise an SQLException because I have no postgres server except SQLException, e: print 'Caught SQLException' print 'Class:', e.getClass().getName() print 'Base class:', e.getClass().getSuperclass().getName() except JavaException, e: print 'Caught JavaException' print 'Class:', e.getClass().getName() print 'Base class:', e.getClass().getSuperclass().getName() print 'Base base class:', e.getClass().getSuperclass().getSuperclass().getName() else: print 'UnCaught' --------------------------------- it prints : --------------------------------- Caught JavaException Class: org.postgresql.util.PSQLException Base class: java.sql.SQLException Base base class: java.lang.Exception --------------------------------- I know the "import *" is discouraged with Jython. But I wondered if this precise limitation is known. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1531644&group_id=12867 |
From: SourceForge.net <no...@so...> - 2006-07-31 10:35:08
|
Bugs item #1531644, was opened at 2006-07-31 12:29 Message generated for change (Comment added) made by nduboc You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1531644&group_id=12867 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Core Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nicolas Duboc (nduboc) Assigned to: Nobody/Anonymous (nobody) Summary: import * makes java exception uncatchable Initial Comment: I'm investigating an old bug registered against the Debian package of Jython : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=281038 While searching on the web for similar problems I found this thread : http://mail.python.org/pipermail/python-list/2004-August/232592.html I think the root problem may be the same. But it does not contain any answer. I think I have reduced the problem to a problem with "import *" : --------------------------------- import java java.lang.Class.forName('org.postgresql.Driver') try: con= java.sql.DriverManager.getConnection('jdbc:postgresql:skdb', 'admin', '') # raise an SQLException because I have no postgres server except java.sql.SQLException, e: print 'Caught SQLException' print 'Class:', e.getClass().getName() print 'Base class:', e.getClass().getSuperclass().getName() else: print 'UnCaught' --------------------------------- On my Debian testing box, with Jython 2.1, the Postgres java driver and java1.5.0_06 (Debian package of Sun JDK), this code prints : --------------------------------- Caught SQLException Class: org.postgresql.util.PSQLException Base class: java.sql.SQLException --------------------------------- Now consider this code : --------------------------------- from java.lang import Class from java.lang import Exception as JavaException from java.sql import * Class.forName('org.postgresql.Driver') try: con= DriverManager.getConnection('jdbc:postgresql:skdb', 'admin', '') # raise an SQLException because I have no postgres server except SQLException, e: print 'Caught SQLException' print 'Class:', e.getClass().getName() print 'Base class:', e.getClass().getSuperclass().getName() except JavaException, e: print 'Caught JavaException' print 'Class:', e.getClass().getName() print 'Base class:', e.getClass().getSuperclass().getName() print 'Base base class:', e.getClass().getSuperclass().getSuperclass().getName() else: print 'UnCaught' --------------------------------- it prints : --------------------------------- Caught JavaException Class: org.postgresql.util.PSQLException Base class: java.sql.SQLException Base base class: java.lang.Exception --------------------------------- I know the "import *" is discouraged with Jython. But I wondered if this precise limitation is known. ---------------------------------------------------------------------- >Comment By: Nicolas Duboc (nduboc) Date: 2006-07-31 12:35 Message: Logged In: YES user_id=756836 The two code snippets are available as attached files. (Don't know how to make bug tracker preserve indentation.) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1531644&group_id=12867 |
From: SourceForge.net <no...@so...> - 2006-08-05 23:00:03
|
Bugs item #1531644, was opened at 2006-07-31 05:29 Message generated for change (Comment added) made by cgroves You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1531644&group_id=12867 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Core Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nicolas Duboc (nduboc) Assigned to: Nobody/Anonymous (nobody) Summary: import * makes java exception uncatchable Initial Comment: I'm investigating an old bug registered against the Debian package of Jython : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=281038 While searching on the web for similar problems I found this thread : http://mail.python.org/pipermail/python-list/2004-August/232592.html I think the root problem may be the same. But it does not contain any answer. I think I have reduced the problem to a problem with "import *" : --------------------------------- import java java.lang.Class.forName('org.postgresql.Driver') try: con= java.sql.DriverManager.getConnection('jdbc:postgresql:skdb', 'admin', '') # raise an SQLException because I have no postgres server except java.sql.SQLException, e: print 'Caught SQLException' print 'Class:', e.getClass().getName() print 'Base class:', e.getClass().getSuperclass().getName() else: print 'UnCaught' --------------------------------- On my Debian testing box, with Jython 2.1, the Postgres java driver and java1.5.0_06 (Debian package of Sun JDK), this code prints : --------------------------------- Caught SQLException Class: org.postgresql.util.PSQLException Base class: java.sql.SQLException --------------------------------- Now consider this code : --------------------------------- from java.lang import Class from java.lang import Exception as JavaException from java.sql import * Class.forName('org.postgresql.Driver') try: con= DriverManager.getConnection('jdbc:postgresql:skdb', 'admin', '') # raise an SQLException because I have no postgres server except SQLException, e: print 'Caught SQLException' print 'Class:', e.getClass().getName() print 'Base class:', e.getClass().getSuperclass().getName() except JavaException, e: print 'Caught JavaException' print 'Class:', e.getClass().getName() print 'Base class:', e.getClass().getSuperclass().getName() print 'Base base class:', e.getClass().getSuperclass().getSuperclass().getName() else: print 'UnCaught' --------------------------------- it prints : --------------------------------- Caught JavaException Class: org.postgresql.util.PSQLException Base class: java.sql.SQLException Base base class: java.lang.Exception --------------------------------- I know the "import *" is discouraged with Jython. But I wondered if this precise limitation is known. ---------------------------------------------------------------------- >Comment By: Charles Groves (cgroves) Date: 2006-08-05 18:00 Message: Logged In: YES user_id=1174327 This was a problem with lazily loaded java classes not being initialized before a subclass check. Fixed in r2874. ---------------------------------------------------------------------- Comment By: Nicolas Duboc (nduboc) Date: 2006-07-31 05:35 Message: Logged In: YES user_id=756836 The two code snippets are available as attached files. (Don't know how to make bug tracker preserve indentation.) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1531644&group_id=12867 |
From: SourceForge.net <no...@so...> - 2006-08-17 22:24:48
|
Bugs item #1531644, was opened at 2006-07-31 05:29 Message generated for change (Comment added) made by cgroves You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1531644&group_id=12867 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Core Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Nicolas Duboc (nduboc) Assigned to: Nobody/Anonymous (nobody) Summary: import * makes java exception uncatchable Initial Comment: I'm investigating an old bug registered against the Debian package of Jython : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=281038 While searching on the web for similar problems I found this thread : http://mail.python.org/pipermail/python-list/2004-August/232592.html I think the root problem may be the same. But it does not contain any answer. I think I have reduced the problem to a problem with "import *" : --------------------------------- import java java.lang.Class.forName('org.postgresql.Driver') try: con= java.sql.DriverManager.getConnection('jdbc:postgresql:skdb', 'admin', '') # raise an SQLException because I have no postgres server except java.sql.SQLException, e: print 'Caught SQLException' print 'Class:', e.getClass().getName() print 'Base class:', e.getClass().getSuperclass().getName() else: print 'UnCaught' --------------------------------- On my Debian testing box, with Jython 2.1, the Postgres java driver and java1.5.0_06 (Debian package of Sun JDK), this code prints : --------------------------------- Caught SQLException Class: org.postgresql.util.PSQLException Base class: java.sql.SQLException --------------------------------- Now consider this code : --------------------------------- from java.lang import Class from java.lang import Exception as JavaException from java.sql import * Class.forName('org.postgresql.Driver') try: con= DriverManager.getConnection('jdbc:postgresql:skdb', 'admin', '') # raise an SQLException because I have no postgres server except SQLException, e: print 'Caught SQLException' print 'Class:', e.getClass().getName() print 'Base class:', e.getClass().getSuperclass().getName() except JavaException, e: print 'Caught JavaException' print 'Class:', e.getClass().getName() print 'Base class:', e.getClass().getSuperclass().getName() print 'Base base class:', e.getClass().getSuperclass().getSuperclass().getName() else: print 'UnCaught' --------------------------------- it prints : --------------------------------- Caught JavaException Class: org.postgresql.util.PSQLException Base class: java.sql.SQLException Base base class: java.lang.Exception --------------------------------- I know the "import *" is discouraged with Jython. But I wondered if this precise limitation is known. ---------------------------------------------------------------------- >Comment By: Charles Groves (cgroves) Date: 2006-08-17 17:24 Message: Logged In: YES user_id=1174327 Copied over to trunk in r2884 ---------------------------------------------------------------------- Comment By: Charles Groves (cgroves) Date: 2006-08-05 18:00 Message: Logged In: YES user_id=1174327 This was a problem with lazily loaded java classes not being initialized before a subclass check. Fixed in r2874. ---------------------------------------------------------------------- Comment By: Nicolas Duboc (nduboc) Date: 2006-07-31 05:35 Message: Logged In: YES user_id=756836 The two code snippets are available as attached files. (Don't know how to make bug tracker preserve indentation.) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1531644&group_id=12867 |