title: Best time to catch an error C#
body: <p>I'm trying to use the best possible practices for exception handling and I'm a little bit lost.</p>
  
  <p>For example, if I have 4 methods (1 call the other one who call the other one...).
  For each method, a custom exception of the same type can be thrown.</p>
  
  <p>Let's say that I have an error that is thrown in 4th method. Do I need to catch it in the 3rd one or I can catch it in the first one?</p>
  
  <p>Because if I respect the principle that an error needs to be caught as soon as possible, I should put catch in all of the 3 first method instead of only the first one.</p>
  
  <pre><code>Method1()
  {
      Method2();
  }
  
  Method2()
  {
      Method3();
  }
  
  Method3()
  {
      Method4(); 
  }
  
  Method4()
  {
      //Some code that could throw a customException
  }
  </code></pre>