Get calling function in a function?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Joerg Battermann

    #1

    Get calling function in a function?

    Hello there,

    I have a quick question:

    When calling a function B from within a function A, is it possible get
    information about the calling function A (e.g. name, values passed over
    etc) from within the function B?

    The reason why I am asking, is, for example when handling exceptions or
    logging errors so I know what exactly happened.


    Thanks and all the best,
    -joerg

  • Phill W.

    #2
    Re: Get calling function in a function?

    Joerg Battermann wrote:
    [color=blue]
    > When calling a function B from within a function A, is it possible get
    > information about the calling function A (e.g. name, values passed over
    > etc) from within the function B?[/color]

    "Name"? - Yes.
    "Values" passed over - No.
    [color=blue]
    > The reason why I am asking, is, for example when handling exceptions or
    > logging errors so I know what exactly happened.[/color]

    Like me, you've discovered that "Good" code doesn't just break, it get's
    broken by "Bad" data - and that's conspicuously /missing/ from .Net's
    built-in StackTrace.

    I'd suggest building your own module to augment the built in StackTrace,
    marking the entry and exit points of each [major] method (/with/
    arguments and return values), but it would have to be a Global thing
    within each application - you don't want to be passing it around into
    practically every function - don't know if that would be an issue for you.

    HTH,
    Phill W.

    Comment

    • Joerg Battermann

      #3
      Re: Get calling function in a function?

      Phil,

      thanks for the reply. I'll give the later one a try (because the value
      often is the critical part in my case). For others who need reference,
      here's some information concerning .net's stacktrace:





      All the best,
      -Joerg

      Comment

      Working...