Mono does not include full stacktrace while rethrowing exception

Алексей Богомолов <[email protected]>
Newsgroups gmane.comp.gnome.mono.general
Message-ID <CAG_YW1aVXJOVmsxVgh7fuhq1HfHJubKBE6exOcOmmbUP9tfq6g@mail.gmail.com>
This behavior makes difficult to troubleshoot errors, especially in
external libraries. Example code:

public class ExceptionReThrow{
    public void Test(){
        try
        {
            M1 ();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }
    }

    public void M1()
    {
        M2();
    }

    private void M2()
    {
        try{
            M3();
        }catch{
            throw;
        }
    }

    private void M3()
    {
        throw new NotImplementedException();
    }}

For Microsoft .Net output will be:

System.NotImplementedException: The method or operation is not implemented.
at TestApp.ExceptionReThrow.M3() in
D:\source\TestApp\TestApp\ExceptionReThrow.cs:line 38 at
TestApp.ExceptionReThrow.M2() in
D:\source\TestApp\TestApp\ExceptionReThrow.cs:line 32 at
TestApp.ExceptionReThrow.M1() in
D:\source\TestApp\TestApp\ExceptionReThrow.cs:line 24 at
TestApp.ExceptionReThrow.Test() in
D:\source\TestApp\TestApp\ExceptionReThrow.cs:line 14

For mono (4.2.3) output will be:

System.NotImplementedException: The method or operation is not implemented.
at TestApp.ExceptionReThrow.M3 () [0x00001] in
D:\source\TestApp\TestApp\ExceptionReThrow.cs:38 at
TestApp.ExceptionReThrow.M2 () [0x00003] in
D:\source\TestApp\TestApp\ExceptionReThrow.cs:30

As you can see, mono looses stack between first and second catch
statements. What is the explanation for this feature? Can I disable it?

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.