title: How to doThrow or thenThrow on method that returns void and throws an exception
body: <p>I have a method <code>process</code> that returns void and also may throw an exception. I want to verify how does behave other method <code>run</code> while calling <code>process</code> and handles an exception if it occurs.</p>
  
  <p>I've tried to use <code>doThrow()</code> but it tells "Checked exception is invalid for this method!". Then I've tried to use <code>thenThrow()</code> but it needs a not void function.</p>
  
  <p>Code:</p>
  
  <pre><code>public void run() {
      for (var billet : getBillets()) {
          try {
              process(billet);
              billet.status = "processed";
          } catch (Exception e) {
              billet.status = "error";
          }
  
          billet.update();
      }
  }
  
  public void process(Billet billet) throws Exception {
      var data = parse(billet.data); // may throw an exception
      var meta = data.get("meta"); // may throw an exception
  
      // ... more parsing ...
  
      new Product(meta).save();
      new Item(meta).save();
  
      // ... more operations ...
  };
  </code></pre>
  
  <p>Test:</p>
  
  <pre><code>var billet1 = new Billet();
  var billet2 = new Billet();
  
  doThrow(new Exception()).when(myInctance).process(billet2);
  myInctance.run();
  assertEquals("processed", billet1.status);
  assertEquals("error", billet2.status);
  
  // ... some checks ...
  </code></pre>
  
  <p>I expect the test would succeeded.</p>