title: lombok annotation @SneakyThrows
body: <p>I have question about @SneakyThrows can be used to sneakily throw checked exceptions without actually declaring this in your method's throws clause.</p>
  
  <pre><code>public class Demo {
  
      public static void main(String[] args) {
  
      }
  
      private void throwE() throws ClassNotFoundException {
  
      }
  
      @SneakyThrows
      private void t() {
          throwE();
      }
  }
  </code></pre>
  
  <p>Here is generate by lombok.</p>
  
  <pre><code>public class Demo {
      public Demo() {
      }
  
      public static void main(String[] args) throws IOException {
      }
  
      private void throwE() throws ClassNotFoundException {
      }
  
      private void t() {
          try {
              this.throwE();
          } catch (Throwable var2) {
              throw var2;
          }
      }
  }
  </code></pre>
  
  <p>Why the code generate by lombok can fakes out the compiler without declaring throws clause.</p>