aboutsummaryrefslogtreecommitdiff
path: root/website/features
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@zwitserloot.com>2013-03-12 01:29:15 +0100
committerReinier Zwitserloot <reinier@zwitserloot.com>2013-03-12 01:29:15 +0100
commitcb9b907839aa0c72ffa41f8a13bfab5cb1341258 (patch)
tree80788f263f0a45796dda84824aa52a1af4245d8f /website/features
parent9400f39d12813740634bba233aacc6edcf62c584 (diff)
downloadlombok-cb9b907839aa0c72ffa41f8a13bfab5cb1341258.tar.gz
lombok-cb9b907839aa0c72ffa41f8a13bfab5cb1341258.tar.bz2
lombok-cb9b907839aa0c72ffa41f8a13bfab5cb1341258.zip
In delombok, we mark the AST as changed if we remove an annotation; this fixes the issue where delombok would leave lombok annotations in the file if that annotation had no actual effect (such as @Getter on a field if there is an explicit getX method for that field).
issue #443: delombok would screw up @SneakyThrows on methods or constructors with empty bodies. Now we generate warnings for this.
Diffstat (limited to 'website/features')
-rw-r--r--website/features/SneakyThrows.html6
1 files changed, 5 insertions, 1 deletions
diff --git a/website/features/SneakyThrows.html b/website/features/SneakyThrows.html
index 0f04b7d9..808a7879 100644
--- a/website/features/SneakyThrows.html
+++ b/website/features/SneakyThrows.html
@@ -64,7 +64,11 @@
statement in a try/catch block with just <code>e.printStackTrace()</code> in the catch block. This is so spectacularly non-productive
compared to just sneakily throwing the exception onwards, that Roel and Reinier feel more than justified in claiming that the
checked exception system is far from perfect, and thus an opt-out mechanism is warranted.
- </p>
+ </p><p>
+ If you put <code>@SneakyThrows</code> on a constructor, any call to a sibling or super constructor is <em>excluded</em> from the <code>@SneakyThrows</code> treatment. This is a
+ java restriction we cannot work around: Calls to sibling/super constructors MUST be the first statement in the constructor; they cannot be placed inside try/catch blocks.
+ </p><p>
+ <code>@SneakyThrows</code> on an empty method, or a constructor that is empty or only has a call to a sibling / super constructor results in no try/catch block and a warning.
</div>
</div>
<div class="footer">