title: How do you assert that a certain exception is thrown in JUnit tests?
body: <p>How can I use JUnit idiomatically to test that some code throws an exception?</p>
  <p>While I can certainly do something like this:</p>
  <pre><code>@Test
  public void testFooThrowsIndexOutOfBoundsException() {
    boolean thrown = false;
  
    try {
      foo.doStuff();
    } catch (IndexOutOfBoundsException e) {
      thrown = true;
    }
  
    assertTrue(thrown);
  }
  </code></pre>
  <p>I recall that there is an annotation or an Assert.xyz or <em>something</em> that is far less kludgy and far more in-the-spirit of JUnit for these sorts of situations.</p>