Description
SneakyThrow is a Java library to ignore checked exceptions. You can also used inside of Java 8 streams.
SneakyThrow alternatives and similar libraries
Based on the "Development" category.
Alternatively, view SneakyThrow alternatives based on common mentions on social networks and blogs.
-
JHipster
JHipster, much like Spring initializr, is a generator to create a boilerplate backend application, but also with an integrated front end implementation in React, Vue or Angular. In their own words, it "Is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures." -
JavaParser
Java 1-21 Parser and Abstract Syntax Tree for Java with advanced analysis functionalities. -
Immutables
Annotation processor to create immutable objects and builders. Feels like Guava's immutable collections but for regular value objects. JSON, Jackson, Gson, JAX-RS integrations included -
CircleMenu for Android
:octocat: ⭕️ CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Android UI library made by @Ramotion -
Better Error Pages
Rails like error pages for Spring Boot applications that are only active in development. -
NoException
Allows checked exceptions in functional interfaces and converts exceptions to Optional return.
SaaSHub - Software Alternatives and Reviews
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of SneakyThrow or a related project?
README
SneakyThrow
SneakyThrow is a Java library to ignore checked exceptions. You can integrate it using maven:
<dependency>
<groupId>com.rainerhahnekamp</groupId>
<artifactId>sneakythrow</artifactId>
<version>1.2.0</version>
</dependency>
Usage
Without SneakyThrow:
URL url;
try {
url = new URL("https://www.hahnekamp.com");
} catch (MalformedURLException mue) {
throw new RuntimeException(mue);
}
With SneakyThrow:
URL url = sneak(() -> new URL("https://www.hahnekamp.com"));
Usage with Java 8 Streams
private URL createURL(String url) throws MalformedURLException {
return new URL(url);
}
The function above used within a Stream without SneakyThrow:
Stream
.of("https://www.hahnekamp.com", "https://www.austria.info")
.map(url -> {
try {
return this.createURL(url);
} catch (MalformedURLException mue) {
throw new RuntimeException(mue);
}
})
.collect(Collectors.toList());
Again with SneakyThrow:
Stream
.of("https://www.hahnekamp.com", "https://www.austria.info")
.map(sneaked(this::createURL))
.collect(Collectors.toList());
The static method sneaked
wraps each function, that has the same signature as a functional interface (java.util.functional).
Please note the difference between sneak
and sneaked
.
How it works
This project is heavily influenced by ThrowingFunction.
In SneakyThrow, each functional interface, defined in java.util.function
, has an equivalent one with the same signature. The only difference is, that these "Sneaky Functional Interfaces" throw exceptions. This gives us the possibility to write lambdas or similar code that also throws exceptions.
Both sneak
and sneaked
wrap the passed "Sneaky Functional Interfaces" into a try/catch clause and return the equivalent java.util.function
interface. In the case of sneak
, execution and the return of the result is done immediately.
*Note that all licence references and agreements mentioned in the SneakyThrow README section above
are relevant to that project's source code only.