Java library for handling exceptions in concise, unified, and architecturally clean way.

Overview
You might also like...

SneakyThrow is a Java library to ignore checked exceptions

SneakyThrow is a Java library to ignore checked exceptions

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

Nov 8, 2022

A lazily evaluated, functional, flexible and concise Lisp.

A lazily evaluated, functional, flexible and concise Lisp.

KamilaLisp A lazily evaluated, functional, flexible and concise Lisp modelled after Haskell and APL, among others. ;; Hello, world! (println "Hello, w

Dec 15, 2022

Concise UI Tests with Java!

Selenide = UI Testing Framework powered by Selenium WebDriver What is Selenide? Selenide is a framework for writing easy-to-read and easy-to-maintain

Jan 4, 2023

Concise UI Tests with Java!

Selenide = UI Testing Framework powered by Selenium WebDriver What is Selenide? Selenide is a framework for writing easy-to-read and easy-to-maintain

Dec 30, 2022

Test case to check if the Log4Shell/CVE-2021-44228 hotfix will raise any unexpected exceptions

Log4Shell Hotfix Side Effect Test Case I wanted to know if any ClassNotFoundException or similar unexpected exception is raised when one applies the C

Nov 9, 2022

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

Dec 29, 2022

Flink Table Store is a unified streaming and batch store for building dynamic tables on Apache Flink

Flink Table Store is a unified streaming and batch store for building dynamic tables on Apache Flink

Jan 1, 2023

Unified Queries for Java

Querydsl Querydsl is a framework which enables the construction of type-safe SQL-like queries for multiple backends including JPA, MongoDB and SQL in

Dec 31, 2022

Apache Spark - A unified analytics engine for large-scale data processing

Apache Spark Spark is a unified analytics engine for large-scale data processing. It provides high-level APIs in Scala, Java, Python, and R, and an op

Jan 2, 2023

Unified Device Tree for Realme X3 series

Unified Device Tree for Realme X3 series

Unified Device Tree for Realme X3 series The realme X3 (codenamed "RMX2081", "RMX2083") is a high-end smartphone from realme. It was announced and rel

May 5, 2022

JSON Library for Java with a focus on providing a clean DSL

JSON Library for Java with a focus on providing a clean DSL

Jul 11, 2022

JLine is a Java library for handling console input.

JLine JLine is a Java library for handling console input. It is similar in functionality to BSD editline and GNU readline but with additional features

Jan 5, 2023

A library that simplifies error handling for Functional Programming in Java

A library that simplifies error handling for Functional Programming in Java

Faux Pas: Error handling in Functional Programming Faux pas noun, /fəʊ pɑː/: blunder; misstep, false step Faux Pas is a library that simplifies error

Dec 5, 2022

A library that simplifies error handling for Functional Programming in Java

A library that simplifies error handling for Functional Programming in Java

Faux Pas: Error handling in Functional Programming Faux pas noun, /fəʊ pɑː/: blunder; misstep, false step Faux Pas is a library that simplifies error

Dec 5, 2022

Echopraxia - Java Logging API with clean and simple structured logging and conditional & contextual features. Logback implementation based on logstash-logback-encoder.

Echopraxia Echopraxia is a Java logging API that and is designed around structured logging, rich context, and conditional logging. There is a Logback-

Nov 30, 2022

uniVocity-parsers is a suite of extremely fast and reliable parsers for Java. It provides a consistent interface for handling different file formats, and a solid framework for the development of new parsers.

uniVocity-parsers is a suite of extremely fast and reliable parsers for Java. It provides a consistent interface for handling different file formats, and a solid framework for the development of new parsers.

Welcome to univocity-parsers univocity-parsers is a collection of extremely fast and reliable parsers for Java. It provides a consistent interface for

Dec 15, 2022

Utilities for handling math and showing numbers in Java.

digital Utilities for handling math and showing numbers in Java. What is it? BitConversion allows converting float and double values to int and long v

Nov 16, 2022

Simple and clean testing for JavaFX.

TestFX Simple and clean testing for JavaFX. TestFX requires a minimum Java version of 8 (1.8). Documentation See the Javadocs for latest master. See t

Dec 28, 2022

A React Native project starter with Typescript, a theme provider with hook to easy styling component, a folder architecture ready and some configs to keep a codebase clean.

React Native Boilerplate Folder structure : src ├── assets │   ├── audios │   ├── fonts │   ├── icons │   └── images ├── components │   ├── Layout.tsx

Sep 1, 2022
Comments
  • Restore interrupted status for InterruptedException

    Restore interrupted status for InterruptedException

    We need special processing for InterruptedException. If we will be wrapping this exception and will not be restoring interrupted status for the thread pool thread, then we may broke the termination of this thread pool

    opened by maximvegorov 4
  • Sneaky Throws question

    Sneaky Throws question

    Hello,

    This is not an issue per-se, just wondering why the implementation of ExceptionSmuggler is not actually more like this for example:

    final class ExceptionSmuggler extends CheckedExceptionHandler {
    
        @Override
        public RuntimeException handle(Exception exception) {
            return sneakyThrow(exception);
        }
    
        static <T extends Throwable> RuntimeException sneakyThrow(Throwable t) throws T {
            throw (T) t;
        }
    }
    

    you do want a "sneaky" throw after all here...

    also I've actually wondered why CheckedExceptionHandler::function for example, is not a lambda too, in the form:

        public final <T, R> Function<T, R> function(ThrowingFunction<T, R> function) {
    
            return t -> {
                try {
                    return function.apply(t);
                } catch (RuntimeException exception) {
                    throw exception;
                } catch (Exception exception) {
                    throw handle(exception);
                }
            };
    
        }
    

    And the last nitpick is that those constants in Exceptions should really be upper-case (it's just easier to read since it's a common convention)... :

    private static final Logger LOGGER = LoggerFactory.getLogger(Exceptions.class);
    

    The thing is, we started looking for something like this for our code and while evaluating some other projects on github, your code seems the closest I would accept. I could submit a PR with these changes if you agree with them.

    Eugene.

    opened by wind57 2
  • Try construct

    Try construct

    Hi,

    Thanks for the package. I really find it useful.

    Is there any plan to have a try() method similar to the Try in Scala, which handles both checked and unchecked exceptions?

    It could be essentially syntactic sugar for

    Exceptions.log().get(Exceptions.sneak().supplier(() -> my_throwing_lambda)).orElse(fallback)
    

    Thanks Best

    opened by aghasemi 4
Owner
Robert Važan
I am mostly known for SourceAFIS fingerprint recognition engine, but I have also written NoException and JungleControls and contributed to Assisticant and NLog.
Robert Važan
A library that simplifies error handling for Functional Programming in Java

Faux Pas: Error handling in Functional Programming Faux pas noun, /fəʊ pɑː/: blunder; misstep, false step Faux Pas is a library that simplifies error

Zalando SE 114 Dec 5, 2022
Java 1-15 Parser and Abstract Syntax Tree for Java, including preview features to Java 13

JavaParser This project contains a set of libraries implementing a Java 1.0 - Java 14 Parser with advanced analysis functionalities. This includes pre

JavaParser 4.5k Jan 5, 2023
Project on End to End CI/CD pipeline for java based application using Git,Github,Jenkins,Maven,Sonarqube,Nexus,Slack,Docker and Kuberenets with ECR as private docker registry and Zero Downtime Deployment

Project on End to End CI/CD pipeline for java based application using Git,Github,Jenkins,Maven,Sonarqube,Nexus,Slack,Docker and Kuberenets with ECR as private docker registry and Zero Downtime Deployment.

NITHIN JOHN GEORGE 10 Nov 22, 2022
simple tail call optimization and stack safety for Java

com.github.kag0.tail simple tail call optimization for Java enables infinitely deep tail recursive calls without throwing a StackOverflowError no tran

Nathaniel Fischer 18 Dec 7, 2022
Dynamic Code Evolution VM for Java 7/8

NEWS: Dcevm-11 on Trava OpenJDK There is a new distribution channel for DCEVM-11 binaries on - TravaOpenjdk! DCEVM This project is a fork of original

null 1.6k Dec 28, 2022
Java unlimited redefinition of classes at runtime.

Hotswap Agent This is an overview page, please visit hotswapagent.org for more information. Overview Java unlimited runtime class and resource redefin

null 1.9k Dec 30, 2022
Java utilities to throw checked exceptions in a "sneaky" way.

Sneaky Java Java utilities to throw checked exceptions in a "sneaky" way. If you're tired of checked exceptions in lambdas, then this library is made

Semyon Kirekov 24 Dec 3, 2022
Clean-architecture-guide - Guia sobre Clean Architecture criado a partir dos meus estudos sobre o tema.

Clean Architecture Guide Arquitetura são as práticas e fundamentos de como organizamos um sistema. Tem relação e como os componentes estão relacionado

Jean Jacques Nascimento Barros 3 Apr 23, 2022