Wrap exception in another one, adding additional context : Exception Throw « Language Basics « C# / CSharp Tutorial






using System;

public class MyClass
{
    public void DoAverage()
    {
        try
        {
            int count = 0;
            int average = 10 / count;
        }
        catch (DivideByZeroException e)
        {
            
            throw (new DivideByZeroException(
            "Count is zero in DoAverage()", e));
        }
    }
}
public class MainClass
{
    public static void Main()
    {
        MyClass my = new MyClass();
        try
        {
            my.DoAverage();
        }
        catch (Exception e)
        {
            Console.WriteLine("Exception: {0}", e);
        }
    }
}
Exception: System.DivideByZeroException: Count is zero in DoAverage() ---> System.DivideByZeroExcept
ion: Attempted to divide by zero.
   at MyClass.DoAverage()
   --- End of inner exception stack trace ---
   at MyClass.DoAverage()
   at MainClass.Main()








1.22.Exception Throw
1.22.1.Manually throw an exception.
1.22.2.Rethrow an exception
1.22.3.Throw Exception from a function
1.22.4.Wrap exception in another one, adding additional context
1.22.5.Throw Exception in finally statement
1.22.6.Creating and throwing an exception object