Sneaky Throw: A Java Library to Ignore Checked Exceptions


SneakyThrow is a Java library to ignore checked exceptions. You can integrate it using maven:


SneakyThrow Usage GIF


Without SneakyThrow:

URL url;
try {
  url = new URL("");
} catch (MalformedURLException mue) {
  throw new RuntimeException(mue);

With SneakyThrow:

URL url = sneak(() -> new URL(""));

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:

  .of("", "")
  .map(url -> {
    try {
      return this.createURL(url);
    } catch (MalformedURLException mue) {
      throw new RuntimeException(mue);

Again with SneakyThrow:

  .of("", "")

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.

Download Details:
Author: rainerhahnekamp
Source Code:
License: MIT license

#java #Development

What is GEEK

Buddha Community

Sneaky Throw: A Java Library to Ignore Checked Exceptions
Tyrique  Littel

Tyrique Littel


How to Install OpenJDK 11 on CentOS 8

What is OpenJDK?

OpenJDk or Open Java Development Kit is a free, open-source framework of the Java Platform, Standard Edition (or Java SE). It contains the virtual machine, the Java Class Library, and the Java compiler. The difference between the Oracle OpenJDK and Oracle JDK is that OpenJDK is a source code reference point for the open-source model. Simultaneously, the Oracle JDK is a continuation or advanced model of the OpenJDK, which is not open source and requires a license to use.

In this article, we will be installing OpenJDK on Centos 8.

#tutorials #alternatives #centos #centos 8 #configuration #dnf #frameworks #java #java development kit #java ee #java environment variables #java framework #java jdk #java jre #java platform #java sdk #java se #jdk #jre #open java development kit #open source #openjdk #openjdk 11 #openjdk 8 #openjdk runtime environment

Joseph  Murray

Joseph Murray


Java Throws Keyword - DZone Java

The throws keyword in Java allows developers to check their code for invalid entry and prepare further steps if an exception occurs.

Learn about the throws keyword in Java with examples. In simple words, the throws keyword is used to declare an exception. It gives an indication to the developer about the exception that may occur. It is better for the developer to provide the exception handling code so that the normal flow of the program is maintained. There are two ways to handle the code:

  1. Throw an exception that is caught by the try/catch block
  2. Declare an exception in the method signature i.e using the throws keyword

What will happen if you do not handle the code? You will get a compilation error if the exception is a checked exception.

#java #exception handling #keyword #exception handling in java #example code #exception handling tutorial in java #throws

Samanta  Moore

Samanta Moore


Going Beyond Java 8: Local Variable Type Inference (var) - DZone Java

According to some surveys, such as JetBrains’s great survey, Java 8 is currently the most used version of Java, despite being a 2014 release.

What you are reading is one in a series of articles titled ‘Going beyond Java 8,’ inspired by the contents of my book, Java for Aliens. These articles will guide you step-by-step through the most important features introduced to the language, starting from version 9. The aim is to make you aware of how important it is to move forward from Java 8, explaining the enormous advantages that the latest versions of the language offer.

In this article, we will talk about the most important new feature introduced with Java 10. Officially called local variable type inference, this feature is better known as the **introduction of the word **var. Despite the complicated name, it is actually quite a simple feature to use. However, some observations need to be made before we can see the impact that the introduction of the word var has on other pre-existing characteristics.

#java #java 11 #java 10 #java 12 #var #java 14 #java 13 #java 15 #verbosity

Samanta  Moore

Samanta Moore


Exception Handling in Java: Contingencies vs. Faults

When and how to use checked and unchecked exceptions


Since the invention of the Java language, there has been a long-standing debate about checked versus unchecked/runtime exceptions. Some people argue that checked exceptions promote a better design. Others feel that checked exceptions get in the way, especially as systems mature and refactor over time, and therefore unchecked exceptions are better. The Effective Java Exceptions article settles this debate once and for all: both checked and unchecked exceptions are acceptable, and each has its purpose within an application. I highly recommend reading that article. I will refer back to its concepts and terminology going forward.

#java #exception handling #exception handling in java #exception in java

Samanta  Moore

Samanta Moore


Spring Boot and Java 16 Records

In this article, we will discuss Java 16’s newest feature, Records. Then we will apply this knowledge and use it in conjunction with a Spring Boot application.

On March 16th, 2021, Java 16 was GA. With this new release, tons of new exciting features have been added. Check out the release notes to know more about these changes in detail. This article’s focus will be on Java Records, which got delivered with JEP 395. Records were first introduced in JDK 14 as a preview feature proposed by JEP 359, and with JDK 15, they remained in preview with JEP 384. However, with JDK 16, Records are no longer in preview.

I have picked Records because they are definitely the most favored feature added in Java 16, according to this Twitter poll by Java Champion Mala Gupta.

I also conducted a similar survey, but it was focused on features from Java 8 onwards. The results were not unexpected, as Java 8 is still widely used. Very unfortunate, though, as tons of new features and improvements are added to newer Java versions. But in terms of features, Java 8 was definitely a game-changer from a developer perspective.

So let’s discuss what the fuss is about Java Records.

#java #springboot #java programming #records #java tutorials #java programmer #java records #java 16