[IronPython] Getting a line number of error (RC2)

Dino Viehland dinov at exchange.microsoft.com
Mon Aug 21 18:01:26 CEST 2006


Are you running on a 64-bit machine w/ a 64-bit runtime?  By default we disable trackback support on 64-bit machines (we've hit a unique bug w/ exception handling there), but it is enabled on 32-bit machines and should work there.

If I do:

import sys
def test2():
    try: test()
    except ValueError, ex:
        global e
        import sys
        e = sys.exc_info()

test2()
e

>>> e[2].tb_lineno
2
>>> e[2].tb_frame.f_code.co_filename
'<stdin>'

You can enable on 64-bit:

import IronPython
IronPython.Compiler.Options.TraceBackSupport = True

From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Matt Beckius
Sent: Monday, August 21, 2006 7:18 AM
To: users at lists.ironpython.com
Subject: [IronPython] Getting a line number of error (RC2)

Trying to get the line number of an error.  CPython produces:

Python 2.4.2 (#67, Sep 28 2005, 12:41:11)
Type "help", "copyright", "credits" or "li
>>> def test():
...     print "hi"
...     int("hi")
...
>>> test()
hi
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "<stdin>", line 3, in test
ValueError: invalid literal for int(): hi


But IP RC2 produces:

IronPython 1.0.60816 on .NET 2.0.50727.42
Copyright (c) Microsoft Corporation. All rights reserved.
>>> def test():
...     print "hi"
...     int("hi")
...
>>> test()
hi
Traceback (most recent call last):
  File , line 0, in <stdin>##5
  File , line 0, in test
ValueError: invalid integer number literal

How do I get the line number of this runtime error?

MattB
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20060821/d20fcdc3/attachment.html>


More information about the Ironpython-users mailing list