Can I detect at runtime inside method Helper() that the program execution is the result of a thrown exception?
Note, my goal is to avoid extending method Helper()
I think you are overthinking this. If you have an exception, pass an exception. If you don't, don't.
Why don't you want to change the signature of the Helper() method?
public void MyFunc1()
{
try
{
// some code here that eventually throws an exception
}
catch( Exception ex )
{
Helper(ex);
}
}
private void Helper(Exception ex = null)
{
// result of a thrown exception here.
if (ex!=null)
{
// do things.
} else {
// do other things
}
}