title: What does "throw new NotImplementedException();" do exactly?
body: <p>I have a class 'b' that inherits from class 'a'.  In class 'a' there is some code that performs an action if an event is not null.  I need that code to fire in class 'b' during specific times in the application.  So in 'b' I subscribed to a new Handler(event).  </p>
  
  <p>If I leave the autogenerated event 'as is' in class 'b' with the <code>throw new NotImplementedException();</code> line, the code works/runs as expected.  As soon as I remove the thow exception, the application no longer works as expected.  </p>
  
  <p>So, what is the <code>throw new NotImplementedException</code> doing besides throwing the exception?  </p>
  
  <p>I realize I'm probably trying to solve my coding problem the wrong way at this point, and I am sure I will find a better way to do it (I'm still learning), but my question remains.  Why does that line change the outcome of code?</p>
  
  <p>EDIT:
  I reallize I wan't very specific with my code.  Unfortunately, because of strict policies, I can't be.  I have in class 'a' an if statement.</p>
  
  <pre><code>if (someEvent != null)
  </code></pre>
  
  <p>When the code 'works', the if statement is returning true.  When it isn't working as expected, it is returning 'false'.  In class 'b', the only time the application 'works' (or the if statement returns true), is when I have the <code>throw new NotImplementedException();</code> line in class 'b's event method that is autogenerated when I attached the new event.</p>