title: C# thread abort exception
body: <p><strong>What happens after a thread.Abort() ??</strong></p>
  
  <p>Say i have:</p>
  
  <pre><code>Thread mWorker = new Thread(new ThreadStart(this.run));
  ..
  mWorker.Start();
  
  **where**
  
  private void run() 
  {
        Logger.d(TAG, "run()");
  
        ...
        try {
          while (this.mRunning){
            ...
          }
        } catch (ThreadAbortException tae){
             Logger.e(TAG,"some msg", tae);
             this.doSomething();
        } catch (IOException ioe){
             Logger.e(TAG,"some msg", ioe);
             this.doSomething();
        } catch (Exception e){
             Logger.e(TAG,"some msg", e);
             this.doSomething();
        } finally {
              gracefoulyClose();
        }
  
        Logger.d(TAG, "run() - ended");
  }
  </code></pre>
  
  <p>Thread is more complex.. but the esential is displayed here. So what happens when Abort() gets called? will my catch work and continue with the call of doSomething()?</p>
  
  <p>Because i still receive in console:</p>
  
  <pre><code>A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll
  An exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll but was not handled in user code
  </code></pre>
  
  <p>But i do have a catch for that. Don't I ??</p>