@Target(value={METHOD,CONSTRUCTOR})
@Retention(value=SOURCE)
public @interface SneakyThrows
@SneakyThrow does not silently swallow, wrap into RuntimeException, or otherwise modify any exceptions of the listed checked exception types. The JVM does not check for the consistency of the checked exception system; javac does, and this annotation lets you opt out of its mechanism.
Complete documentation is found at the project lombok features page for @SneakyThrows.
Example:
@SneakyThrows(UnsupportedEncodingException.class) public void utf8ToString(byte[] bytes) { return new String(bytes, "UTF-8"); }Becomes:
public void utf8ToString(byte[] bytes) { try { return new String(bytes, "UTF-8"); } catch (UnsupportedEncodingException $uniqueName) { throw useMagicTrickeryToHideThisFromTheCompiler($uniqueName); // This trickery involves a bytecode transformer run automatically during the final stages of compilation; // there is no runtime dependency on lombok. }
Modifier and Type | Optional Element and Description |
---|---|
java.lang.Class<? extends java.lang.Throwable>[] |
value |
Copyright © 2009-2015 The Project Lombok Authors, licensed under the MIT licence.