title: Stop program flow in the middle without using an exception
body: <p>I need to stop the program flow in the middle, and I am currently using an exception for this. This flow is the legal flow and I want to know if I can do it without using an exception. </p>
  
  <p>This is an example of my code, and I cannot change <code>func_2</code> and <code>func_1</code>:</p>
  
  <pre><code>#include "stdio.h"
  
  void func_3()
  {
      printf("i am func_3\n");
      throw 20;
      printf("i am not supposed to be here\n");
  }
  void func_2()
  {
      printf("i am func_2\n");
      func_3();
      printf("i am not supposed to be here\n");
  }
  void func_1()
  {
      printf("i am func_1\n");
      func_2();
      printf("i am not supposed to be here\n");
  }
  
  int main()
  {
      try
      {
          func_1();
      }
      catch (int e)
      {
          printf("i am supposed to be here\n");
      }
      catch (...)
      {
          printf("i am not supposed to be here\n");
      }
  }
  </code></pre>