Bottom Page

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 Change linenumber and filename printed in exceptions like #line in C
#1
Hi,
As you might know, there is the #line command in the C-preprocessor:

#include <stdio.h>
#line 20 "abc"
int main() {
    printf("%i %s\n", __LINE__, __FILE__); //outputs 22 abc
}
Is there something like this #line command in python? I want to change what is printed in exceptions.
I tried:
import inspect
frame = inspect.currentframe()
fileNo = frame.f_lineno
frame.f_lineno=1000
But this resulted in the output
Output:
Traceback (most recent call last): File "pythontest.py", line 4, in <module> frame.f_lineno=1000 ValueError: f_lineno can only be set by a trace function
In case you were wondering why I would want to change the filename and filenumber: In my workflow, I have a files that contain python source code and other text. A script searches those python source code blocks, puts them into the right order, writes them into a file (called sum.py) and executes this file. This works fine, but obviously exceptions show the linenumber in sum.py and not the linenumber in the original files.
Quote
#2
They're called dunders (double underscore) in python list here: https://docs.python.org/3/reference/impo..._#__name__
for exceptions, you can examine the call stack
see: https://python-forum.io/Thread-Walking-t...ight=stack
Quote
#3
I don't think there is any equivalent of the #line preprocessing directive in python. What you could do is catch the exception and transform the output of traceback.format_tb() by replacing items such as ['File "sum.py" line 10 ...'] with the correct line and file reference. This supposes that you store these position informations in a separate file when you create sum.py.
Quote

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  Looking for advice and Guidance on Exceptions used within Functions paul41 1 90 Nov-14-2019, 12:33 AM
Last Post: Larz60+
  I get "None" at the end of my printed result. dyshkant 3 174 Sep-06-2019, 06:31 PM
Last Post: dyshkant
  bytes not being printed as expected Skaperen 2 186 Aug-27-2019, 05:33 AM
Last Post: Skaperen
  multi-line messages in raised exceptions? Skaperen 3 252 Aug-01-2019, 02:17 AM
Last Post: Skaperen
  How to change existing date to current date in a filename? shankar455 1 363 Apr-17-2019, 01:53 PM
Last Post: snippsat
  Creating custom exceptions that co-operate LadySvetlana 4 437 Mar-19-2019, 04:24 PM
Last Post: LadySvetlana
  Putting an array for each string that is printed to a loop ClaudioSimonetti 1 354 Feb-05-2019, 12:52 PM
Last Post: perfringo
  Catching exceptions in embedded code no longer works on 3.7.2? FFMG 5 425 Feb-02-2019, 10:15 AM
Last Post: Larz60+
  Why A will be printed twice in the picture Shen 3 821 Jul-25-2018, 01:16 PM
Last Post: stranac
  0 error but Not printed Piqurs 5 946 Jul-14-2018, 04:43 PM
Last Post: buran

Forum Jump:


Users browsing this thread: 1 Guest(s)