{"id":36585220,"url":"https://github.com/powerunit/powerunit-extensions-exceptions","last_synced_at":"2026-01-12T08:02:23.233Z","repository":{"id":41055520,"uuid":"201780258","full_name":"powerunit/powerunit-extensions-exceptions","owner":"powerunit","description":"Objects to support checked exception in lambda","archived":false,"fork":false,"pushed_at":"2025-12-21T22:40:52.000Z","size":2186,"stargazers_count":0,"open_issues_count":19,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-23T09:58:43.896Z","etag":null,"topics":["exception-handling","exceptions","functional-programming","java","lambda","unchecked-exception"],"latest_commit_sha":null,"homepage":"http://www.powerunit.ch/powerunit-extensions-exceptions/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/powerunit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-11T15:11:46.000Z","updated_at":"2023-10-12T19:14:46.000Z","dependencies_parsed_at":"2022-09-21T06:46:17.427Z","dependency_job_id":"1a8c907a-6514-4505-9b41-97e994eafb1c","html_url":"https://github.com/powerunit/powerunit-extensions-exceptions","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/powerunit/powerunit-extensions-exceptions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerunit%2Fpowerunit-extensions-exceptions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerunit%2Fpowerunit-extensions-exceptions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerunit%2Fpowerunit-extensions-exceptions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerunit%2Fpowerunit-extensions-exceptions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/powerunit","download_url":"https://codeload.github.com/powerunit/powerunit-extensions-exceptions/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerunit%2Fpowerunit-extensions-exceptions/sbom","scorecard":{"id":155440,"data":{"date":"2025-08-04","repo":{"name":"github.com/powerunit/powerunit-extensions-exceptions","commit":"1b6460c00772f8ca746c9c8d3aea514a0cddee42"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":3,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/4 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact ci/master/787 not signed: https://api.github.com/repos/powerunit/powerunit-extensions-exceptions/releases/23746011","Warn: release artifact ci/master/783 not signed: https://api.github.com/repos/powerunit/powerunit-extensions-exceptions/releases/23193552","Warn: release artifact ci/master/777 not signed: https://api.github.com/repos/powerunit/powerunit-extensions-exceptions/releases/23113547","Warn: release artifact ci/master/772 not signed: https://api.github.com/repos/powerunit/powerunit-extensions-exceptions/releases/22630224","Warn: release artifact ci/master/760 not signed: https://api.github.com/repos/powerunit/powerunit-extensions-exceptions/releases/22408183","Warn: release artifact ci/master/787 does not have provenance: https://api.github.com/repos/powerunit/powerunit-extensions-exceptions/releases/23746011","Warn: release artifact ci/master/783 does not have provenance: https://api.github.com/repos/powerunit/powerunit-extensions-exceptions/releases/23193552","Warn: release artifact ci/master/777 does not have provenance: https://api.github.com/repos/powerunit/powerunit-extensions-exceptions/releases/23113547","Warn: release artifact ci/master/772 does not have provenance: https://api.github.com/repos/powerunit/powerunit-extensions-exceptions/releases/22630224","Warn: release artifact ci/master/760 does not have provenance: https://api.github.com/repos/powerunit/powerunit-extensions-exceptions/releases/22408183"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T11:37:04.993Z","repository_id":41055520,"created_at":"2025-08-16T11:37:04.993Z","updated_at":"2025-08-16T11:37:04.993Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28336970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T06:09:07.588Z","status":"ssl_error","status_checked_at":"2026-01-12T06:05:18.301Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exception-handling","exceptions","functional-programming","java","lambda","unchecked-exception"],"created_at":"2026-01-12T08:01:58.271Z","updated_at":"2026-01-12T08:02:23.224Z","avatar_url":"https://github.com/powerunit.png","language":"Java","readme":"# Powerunit-extensions-exceptions\n\n[![Build Status](https://travis-ci.com/powerunit/powerunit-extensions-exceptions.svg?branch=master)](https://travis-ci.com/powerunit/powerunit-extensions-exceptions)[![Known Vulnerabilities](https://snyk.io/test/github/powerunit/powerunit-extensions-exceptions/badge.svg?targetFile=pom.xml)](https://snyk.io/test/github/powerunit/powerunit-extensions-exceptions?targetFile=pom.xml) [![DepShield Badge](https://depshield.sonatype.org/badges/powerunit/powerunit-extensions-exceptions/depshield.svg)](https://depshield.github.io) [![Total alerts](https://img.shields.io/lgtm/alerts/g/powerunit/powerunit-extensions-exceptions.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/powerunit/powerunit-extensions-exceptions/alerts/)[![Coverage Status](https://coveralls.io/repos/github/powerunit/powerunit-extensions-exceptions/badge.svg?branch=master)](https://coveralls.io/github/powerunit/powerunit-extensions-exceptions?branch=master)[![codecov](https://codecov.io/gh/powerunit/powerunit-extensions-exceptions/branch/master/graph/badge.svg)](https://codecov.io/gh/powerunit/powerunit-extensions-exceptions)[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/54e6f34a650147e48b1864a420695a1c)](https://www.codacy.com/app/mathieu.boretti/powerunit-extensions-exceptions?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=powerunit/powerunit-extensions-exceptions\u0026utm_campaign=Badge_Coverage)[![Codacy Badge](https://api.codacy.com/project/badge/Grade/54e6f34a650147e48b1864a420695a1c)](https://www.codacy.com/app/mathieu.boretti/powerunit-extensions-exceptions?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=powerunit/powerunit-extensions-exceptions\u0026amp;utm_campaign=Badge_Grade)[![CodeFactor](https://www.codefactor.io/repository/github/powerunit/powerunit-extensions-exceptions/badge)](https://www.codefactor.io/repository/github/powerunit/powerunit-extensions-exceptions)[![BCH compliance](https://bettercodehub.com/edge/badge/powerunit/powerunit-extensions-exceptions?branch=master)](https://bettercodehub.com/results/powerunit/powerunit-extensions-exceptions)[![codebeat badge](https://codebeat.co/badges/cdebf167-fee0-46b4-b33d-c613f1586a9d)](https://codebeat.co/projects/github-com-powerunit-powerunit-extensions-exceptions-master)[![Maven Central](https://maven-badges.herokuapp.com/maven-central/ch.powerunit.extensions/powerunit-extensions-exceptions/badge.svg)](https://maven-badges.herokuapp.com/maven-central/ch.powerunit.extensions/powerunit-extensions-exceptions)![mergify-status](https://gh.mergify.io/badges/powerunit/powerunit-extensions-exceptions.png?style=cut)[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=powerunit_powerunit-extensions-exceptions\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=powerunit_powerunit-extensions-exceptions)[![badge](https://report.ci/status/powerunit/powerunit-extensions-exceptions/badge.svg?branch=master)](https://report.ci/status/powerunit/powerunit-extensions-exceptions?branch=master)[![javadoc](http://javadoc.io/badge/ch.powerunit.extensions/powerunit-extensions-exceptions.svg?color=yellow)](http://javadoc.io/doc/ch.powerunit.extensions/powerunit-extensions-exceptions)\n\n**This version doesn't support anymore Java 9. [Please use an older version, for instance the version 2.2.0](https://github.com/powerunit/powerunit-extensions-exceptions/tree/powerunit-extensions-exceptions-2.2.0)**\n\n\nThis library provides support to wraps _checked exception_, to be used as target functional interface (which by default only support `RuntimeException`).\n\nThe library exposes several functional interface, similar to the one from `java.util.function`, but that may throw exception. Then several methods are provided to convert these exception to `RuntimeException` or lift the function.\n\nFor example:\n\n```java\nFunctionWithException\u003cString, String, IOException\u003e fonctionThrowingException = ...;\n\nFunction\u003cString, String\u003e functionThrowingRuntimeException = FunctionWithException\n  .unchecked(fonctionThrowingException);\n```\n\nwraps the exception from `IOException` into a `RuntimeException` (which cause is the original one).\n\n## Usage\n\nAdd the following dependency to your maven project :\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ech.powerunit.extensions\u003c/groupId\u003e\n  \u003cartifactId\u003epowerunit-extensions-exceptions\u003c/artifactId\u003e\n  \u003cversion\u003e3.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nAnd then just use the interface from the package `ch.powerunit.extensions.exceptions`. Each available interface has a name similar with the one from the `java.util.function` package, but ending with `WithException`. Three essential static entry methods are available :\n\n| Method      | Description                                                                                                                                                                                | Example                                                         |\n| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- |\n| `unchecked` | Converts the functional interface to the one without exception, by wrapping the exception to a `RuntimeException`                                                                          | `FunctionWithException\u003cT,R,E\u003e` to `Function\u003cT,R\u003e`           |\n| `lifted`    | Converts the functional interface to the one without exception, by returning an `Optional` or a default value in case of exception (or ignore exception for interface without return value) | `FunctionWithException\u003cT,R,E\u003e` to `Function\u003cT,Optional\u003cR\u003e\u003e` |\n| `ignored`   | Converts the functional interface to the one without exception, by returning a default value in case of exception (or ignore exception for interface without return value)               | `FunctionWithException\u003cT,R,E\u003e` to `Function\u003cT,R\u003e`           |\n\nAlso, non static version (`uncheck`, `lift`, `ignore`) of the methods are available.\n\nThe method `unchecked` also support an additional parameter to define how to wrap the exception by passing a `Function\u003cException,RuntimeException\u003e` to do it.\n\nAn additional method `stage(d)` is also available on several interface.\n\n### `uncheck(ed)`\n\nThis method converts the functional interface to the one without exception, by wrapping the exception to a `RuntimeException`.\n\nThree versions of this methods exists :\n\n* `uncheck()` converting the functional interface directly.\n  ```java\n  FunctionWithException\u003cString,String,IOException\u003e myFunction = ...;\n  \n  Function\u003cString,String\u003e myUncheckedFunction = myFunction.uncheck();\n  ```\n* `unchecked(myInterface)` converting the received parameter.\n  ```java\n  Function\u003cString,String\u003e myUncheckedFunction = FunctionWithException.unchecked(x-\u003ex);\n  ```\n* `unchecked(myInterface,myExceptionMapper)` converting the received parameter, and using the received exception mapper to wrap the exception.\n  ```java\n  Function\u003cString,String\u003e myUncheckedFunction = \n    FunctionWithException.unchecked(\n      x-\u003ex,\n      IllegalArgumentException::new\n    );\n  ```\n  The resulting exceptions are :\n  \n  | Original With Exception Interface| Uncheck(ed) without exception mapper | Unchecked with exception mapper |\n  | --------------------------------- | ------------------------------------ | -----------------------------------   |\n  | _The original exception_          | An instance of `ch.powerunit.extensions.exceptions.WrappedException` having the original exception as cause | A instance of `RuntimeException` returned by the exception mapper |\n  \n  A more concrete example may be :\n  ```java\n  Function\u003cException, RuntimeException\u003e mapper = \n    ExceptionMapper.forException(\n      SQLException.class,\n      s -\u003e \n           new WrappedException(\n             String.format(\n               \"%s ; ErrorCode=%s ; SQLState=%s\", \n               s.getMessage(),\n               s.getErrorCode(), \n               s.getSQLState()\n             ), \n             s\n           )\n    );\n  ```\n  In this example, it extracts the SQL information from the `SQLException`. The `exceptionMapperFor` method ensures that in case the exception is not a `SQLException`, a standard wrapping is done. Please see [the dedicated section](#exception-mapper) for more information.\n\n### `lift(ed)`\n\nThis method converts the functional interface to the one without exception, by returning an `Optional` or a default value in case of exception or ignore the exception for interface without return value.\n\nTwo versions of this methods exists :\n\n* `lift()` converting the functional interface directly.\n  ```java\n  FunctionWithException\u003cString,String,IOException\u003e myFunction = ...;\n  \n  Function\u003cString,Optional\u003cString\u003e\u003e myLiftedFunction = myFunction.lift();\n  ```\n* `lifted(myInterface)` converting the received parameter.\n  ```java\n  Function\u003cString,Optional\u003cString\u003e\u003e myLiftedFunction = FunctionWithException.lifted(x-\u003ex);\n  ```\n\n### `ignore(d)`\n\nThis method converts the functional interface to the one without exception, by returning a default value in case of exception or ignore the exception for interface without return value.\n\nTwo versions of this methods exists :\n\n* `ignore()` converting the functional interface directly.\n  ```java\n  FunctionWithException\u003cString,String,IOException\u003e myFunction = ...;\n  \n  Function\u003cString,String\u003e myLiftedFunction = myFunction.ignore();\n  ```\n* `ignored(myInterface)` converting the received parameter.\n  ```java\n  Function\u003cString,String\u003e myLiftedFunction = FunctionWithException.ignored(x-\u003ex);\n  ```\n\n### `stage(d)`\n\nThis method converts the functional interface to the one without exception, by returning an `CompletionStage`. _This is not available on interface returning primitive type_. \n\nFor functional interface without result, a `CompletionStage\u003cVoid\u003e` is returned.\n\nTwo versions of this methods exists :\n\n* `stage()` converting the functional interface directly.\n  ```java\n  FunctionWithException\u003cString,String,IOException\u003e myFunction = ...;\n  \n  Function\u003cString,CompletionStage\u003cString\u003e\u003e myStagedFunction = myFunction.stage();\n  ```\n* `staged(myInterface)` converting the received parameter.\n  ```java\n  Function\u003cString,CompletionStage\u003cString\u003e\u003e myStagedFunction = FunctionWithException.staged(x-\u003ex);\n  ```\n\n### Exception Mapper\n\nThe various methods `forExceptions` from `ExceptionMapper` provides a way to chain several Exception Mapper.\n\nAlso, some dedicated, _ready to used_, Exception Mapper are provided :\n\n* `sqlExceptionMapper()` - Return an exception mapper that adds to the message of the `RuntimeException` the SQL Error from the underlying exception. **This is only usable when the module java.sql is available**.\n* `jaxbExceptionMapper()` - Return an exception mapper that adds to the message of the `RuntimeException` the JAXB Error from the underlying exception. **This is only usable when JAXB is available**.\n* `saxExceptionMapper()` - Return an exception mapper that adds to the message of the `RuntimeException` the SAX Error from the underlying exception. **This is only usable when the module java.xml is available**.\n* `transformerExceptionMapper()` - Return an exception mapper that adds to the message of the `RuntimeException` the Transformer Error from the underlying exception. **This is only usable when the module java.xml is available**.\n\n#### Define global ExceptionMapper\n\nIt is possible to define a default exception mappers by using service loader.\n\nBy default, the exception are wrapped in a `WrappedException`. This behaviour may be change by implementing the required `ExceptionMapper` and register them as _service implementation_. \n\nTo do so, create all the required implementation, for example :\n\n```java\npublic class MyExceptionMapper implements ch.powerunit.extensions.exceptions.ExceptionMapper {\n  public RuntimeException apply(Exception e) {\n    //Add code here\n  }\n\n  public Class\u003c? extends Exception\u003e targetException() {\n    return //Add code here;\n  }\n\t\n  // Optional, to define the order between the ExceptionMapper\n  public int order() {\n    return 100;\n  }\n\n}\n```\n\nThen this may be registered in the `module-info.java` file:\n\n```java\nmodule XXX {\n  requires powerunit.exceptions;\n\n  provides ch.powerunit.extensions.exceptions.ExceptionMapper\n    with ....MyExceptionMapper;\n}\n```\n\n### CommonsCollections4Helper\n\n_This helper is only available if the commons-collections4 library is available_\n\nThe class `CommonsCollections4Helper` provides several static methods to convert interface\nfrom this library to the corresponding version in commons-collections4.\n\n## Reference\n\nThe following classes are provided:\n\n| Standard functional interface | Exception functional interface         | Unchecked version       | Lifted version                 | Ignored version               | Stage version                           |\n| ----------------------------- | -------------------------------------- | ----------------------- | ------------------------------ | -------------- |--------------------|\n| `BiFunction\u003cT,U,R\u003e`             | `BiFunctionWithException\u003cT,U,R,E\u003e`       | `BiFunction\u003cT,U,R\u003e`       | `BiFunction\u003cT,U,Optional\u003cR\u003e\u003e`    | `BiFunction\u003cT,U,R\u003e`      | `BiFunction\u003cT,U,CompletionStage\u003cR\u003e\u003e` |\n| `BiConsumer\u003cT,U\u003e`               | `BiConsumerWithException\u003cT,U,E\u003e`         | `BiConsumer\u003cT,U\u003e`         | `BiConsumer\u003cT,U\u003e`                | `BiConsumer\u003cT,U\u003e`        | `BiFunction\u003cT,U,CompletionStage\u003cVoid\u003e\u003e` |\n| `BiPredicate\u003cT,U\u003e`              | `BiPredicateWithException\u003cT,U,E\u003e`        | `BiPredicate\u003cT,U\u003e`        | `BiPredicate\u003cT,U\u003e`               | `BiPredicate\u003cT,U\u003e`       | N/A |\n| `BinaryOperator\u003cT\u003e`             | `BinaryOperatorWithException\u003cT,E\u003e`       | `BinaryOperator\u003cT,U\u003e`     | `BinaryFunction\u003cT,T,Optional\u003cT\u003e\u003e` | `BinaryOperator\u003cT\u003e`      | `BinaryFunction\u003cT,T,CompletionStage\u003cT\u003e\u003e` |\n| `BooleanSupplier`               | `BooleanSupplierWithException\u003cE\u003e`        | `BooleanSupplier`         | `BooleanSupplier`                | `BooleanSupplier`        | N/A |\n| `Consumer\u003cT\u003e`                   | `ConsumerWithException\u003cT,E\u003e`             | `Consumer\u003cT\u003e`             | `Consumer\u003cT\u003e`                    | `Consumer\u003cT\u003e`            | `Function\u003cT,CompletionStage\u003cVoid\u003e\u003e` |\n| `DoubleBinaryOperator`          | `DoubleBinaryOperatorWithException\u003cE\u003e`   | `DoubleBinaryOperator`    | `DoubleBinaryOperator`           | `DoubleBinaryOperator`   | N/A |\n| `DoubleConsumer`                | `DoubleConsumerWithException\u003cE\u003e`         | `DoubleConsumer`          | `DoubleConsumer`                 | `DoubleConsumer`         | `DoubleFunction\u003cCompletionStage\u003cVoid\u003e\u003e` |\n| `DoubleFunction\u003cR\u003e`             | `DoubleFunctionWithException\u003cR,E\u003e`       | `DoubleFunction\u003cR\u003e`       | `DoubleFunction\u003cOptional\u003cR\u003e\u003e`    | `DoubleFunction\u003cR\u003e`      | `DoubleFunction\u003cCompletionStage\u003cR\u003e\u003e` |\n| `DoublePredicate`               | `DoublePredicateWithException\u003cE\u003e`        | `DoublePredicate`         | `DoublePredicate`                | `DoublePredicate`        | N/A |\n| `DoubleSupplier`                | `DoubleSupplierWithException\u003cE\u003e`         | `DoubleSupplier`          | `DoubleSupplier`                 | `DoubleSupplier`         | N/A |\n| `DoubleToIntFunction`           | `DoubleToIntFunctionWithException\u003cE\u003e`    | `DoubleToIntFunction`     | `DoubleToIntFunction`            | `DoubleToIntFunction`    | N/A |\n| `DoubleToLongFunction`          | `DoubleToLongFunctionWithException\u003cE\u003e`   | `DoubleToLongFunction`    | `DoubleToLongFunction`           | `DoubleToLongFunction`   | N/A |\n| `DoubleUnaryOperator`           | `DoubleUnaryOperatorWithException\u003cE\u003e`    | `DoubleUnaryOperator`     | `DoubleUnaryOperator`            | `DoubleUnaryOperator`    | N/A |\n| `FileFilter`                 | `FileFilterWithException\u003cE\u003e`           | `FileFilter`           | `FileFilter`        | `FileFilter`          | N/A |\n| `FilenameFilter`                 | `FilenameFilterWithException\u003cE\u003e`           | `FilenameFilter`           | `FilenameFilter`        | `FilenameFilter`          | N/A |\n| `Function\u003cT,R\u003e`                 | `FunctionWithException\u003cT,R,E\u003e`           | `Function\u003cT,R\u003e`           | `Function\u003cT,Optional\u003cR\u003e\u003e`        | `Function\u003cT,R\u003e`          | `Function\u003cT,CompletionStage\u003cR\u003e\u003e` |\n| `IntBinaryOperator`             | `IntBinaryOperatorWithException\u003cE\u003e`      | `IntBinaryOperator`       | `IntBinaryOperator`              | `IntBinaryOperator`      | N/A |\n| `IntConsumer`                   | `IntConsumerWithException\u003cE\u003e`            | `IntConsumer`             | `IntConsumer`                   | `IntConsumer`            | `IntFunction\u003cCompletionStage\u003cVoid\u003e\u003e` |\n| `IntFunction\u003cR\u003e`                | `IntFunctionWithException\u003cR,E\u003e`          | `IntFunction\u003cR\u003e`          | `IntFunction\u003cOptional\u003cR\u003e\u003e`       | `IntFunction\u003cR\u003e`         | `IntFunction\u003cCompletionStage\u003cR\u003e\u003e` |\n| `IntPredicate`                  | `IntPredicateWithException\u003cE\u003e`           | `IntPredicate`            | `IntPredicate`                   | `IntPredicate`           | N/A |\n| `IntSupplier`                   | `IntSupplierWithException\u003cE\u003e`            | `IntSupplier`             | `IntSupplier`                    | `IntSupplier`            | N/A |\n| `IntToDoubleFunction`           | `IntToDoubleFunctionWithException\u003cE\u003e`    | `IntToDoubleFunction`     | `IntToDoubleFunction`            | `IntToDoubleFunction`    |N/A |\n| `IntToLongFunction`             | `IntToLongFunctionWithException\u003cE\u003e`      | `IntToLongFunction`       | `IntToLongFunction`              | `IntToLongFunction`      |N/A |\n| `IntUnaryOperator`              | `IntUnaryOperatorWithException\u003cE\u003e`       | `IntUnaryOperator`        | `IntUnaryOperator`               | `IntUnaryOperator`       |N/A |\n| `LongBinaryOperator`            | `LongBinaryOperatorWithException\u003cE\u003e`     | `LongBinaryOperator`      | `LongBinaryOperator`             | `LongBinaryOperator`     |N/A |\n| `LongConsumer`                  | `LongConsumerWithException\u003cE\u003e`           | `LongConsumer`            | `LongConsumer`                  | `LongConsumer`           | `LongFunction\u003cCompletionStage\u003cVoid\u003e\u003e` |\n| `LongFunction\u003cR\u003e`               | `LongFunctionWithException\u003cR,E\u003e`         | `LongFunction\u003cR\u003e`         | `LongFunction\u003cOptional\u003cR\u003e\u003e`      | `LongFunction\u003cR\u003e`        | `LongFunction\u003cCompletionStage\u003cR\u003e\u003e` |\n| `LongPredicate`                 | `LongPredicateWithException\u003cE\u003e`          | `LongPredicate`           | `LongPredicate`                  | `LongPredicate`          | N/A |\n| `LongSupplier`                  | `LongSupplierWithException\u003cE\u003e`           | `LongSupplier`            | `LongSupplier`                   | `LongSupplier`           | N/A |\n| `LongToDoubleFunction`          | `LongToDoubleFunctionWithException\u003cE\u003e`   | `LongToDoubleFunction`    | `LongToDoubleFunction`           | `LongToDoubleFunction`   | N/A |\n| `LongToIntFunction`             | `LongToIntFunctionWithException`         | `LongToIntFunction`       | `LongToIntFunction`              | `LongToIntFunction`      |N/A |\n| `LongUnaryOperator`             | `LongUnaryOperatorWithException`         | `LongUnaryOperator`       | `LongUnaryOperator`              | `LongUnaryOperator`      |N/A |\n| `ObjectInputFilter`                 | `ObjectInputFilterWithException\u003cT,R,E\u003e`           | `ObjectInputFilter`           | `Function\u003cFilterInfo,Optional\u003cStatus\u003e\u003e`        | `ObjectInputFilter`          | `Function\u003cFilterInfo,CompletionStage\u003cStatus\u003e\u003e` |\n| `ObjDoubleConsumer\u003cT\u003e`          | `ObjDoubleConsumerWithException\u003cT,E\u003e`    | `ObjDoubleConsumer\u003cT\u003e`    | `ObjDoubleConsumer\u003cT\u003e`           | `ObjDoubleConsumer\u003cT\u003e`   | `Function\u003cT,Double,CompletionStage\u003cVoid\u003e\u003e` |\n| `ObjIntConsumer\u003cT\u003e`             | `ObjIntConsumerWithException\u003cT,E\u003e`       | `ObjIntConsumer\u003cT\u003e`       | `ObjIntConsumer\u003cT\u003e`              | `ObjIntConsumer\u003cT\u003e`      | `Function\u003cT,Integer,CompletionStage\u003cVoid\u003e\u003e` |\n| `ObjLongConsumer\u003cT\u003e`            | `ObjLongConsumerWithException\u003cT,E\u003e`      | `ObjLongConsumer\u003cT\u003e`      | `ObjLongConsumer\u003cT\u003e`             | `ObjLongConsumer\u003cT\u003e`     | `Function\u003cT,Long,CompletionStage\u003cVoid\u003e\u003e` |\n| `PathMatcher`                  | `PathMatcherWithException\u003cE\u003e`            | `PathMatcher`            | `PathMatcher`                   | `PathMatcher`           | N/A\n| `Predicate\u003cT\u003e`                  | `PredicateWithException\u003cT,E\u003e`            | `Predicate\u003cT\u003e`            | `Predicate\u003cT\u003e`                   | `Predicate\u003cT\u003e`           | N/A\n| `Runnable`                      | `RunnableWithException\u003cE\u003e`               | `Runnable`                | `Runnable`                       | `Runnable`               | `Supplier\u003cCompletionStage\u003cVoid\u003e\u003e`|\n| `Supplier\u003cT\u003e`                   | `SupplierWithException\u003cT,E\u003e`             | `Supplier\u003cT\u003e`             | `Supplier\u003cOptional\u003cT\u003e\u003e`          | `Supplier\u003cT\u003e`            | `Supplier\u003cCompletionStage\u003cT\u003e\u003e` |\n| `ToDoubleBiFunction\u003cT,U\u003e`       | `ToDoubleBiFunctionWithException\u003cT,U,E\u003e` | `ToDoubleBiFunction\u003cT,U\u003e` | `ToDoubleBiFunction\u003cT,U\u003e`        | `ToDoubleBiFunction\u003cT,U\u003e`| N/A |\n| `ToDoubleFunction\u003cT\u003e`           | `ToDoubleFunctionWithException\u003cT,E\u003e`     | `ToDoubleFunction\u003cT\u003e`     | `ToDoubleFunction\u003cT\u003e`            |  `ToDoubleFunction\u003cT\u003e`    | N/A |\n| `ToIntBiFunction\u003cT,U\u003e`          | `ToIntBiFunctionWithException\u003cT,U,E\u003e`    | `ToIntBiFunction\u003cT,U\u003e`    | `ToIntBiFunction\u003cT,U\u003e`           | `ToIntBiFunction\u003cT,U\u003e`   | N/A |\n| `ToIntFunction\u003cT\u003e`              | `ToIntFunctionWithException\u003cT,E\u003e`        | `ToIntFunction\u003cT\u003e`        | `ToIntFunction\u003cT\u003e`               | `ToIntFunction\u003cT\u003e`       | N/A |\n| `ToLongBiFunction\u003cT,U\u003e`         | `ToLongBiFunctionWithException\u003cT,U,E\u003e`   | `ToLongBiFunction\u003cT,U\u003e`   | `ToLongBiFunction\u003cT,U\u003e`          | `ToLongBiFunction\u003cT,U\u003e`  | N/A |\n| `ToLongFunction\u003cT\u003e`             | `ToLongFunctionWithException\u003cT,E\u003e`       | `ToLongFunction\u003cT\u003e`       | `ToLongFunction\u003cT\u003e`              | `ToLongFunction\u003cT\u003e`      | N/A |\n| `UnaryOperator\u003cT\u003e`              | `UnaryOperatorWithException\u003cT,E\u003e`        | `UnaryOperator\u003cT\u003e`        | `Function\u003cT,Optional\u003cT\u003e\u003e`        | `UnaryOperator\u003cT\u003e`       | `Function\u003cT,CompletionStage\u003cT\u003e\u003e` |\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowerunit%2Fpowerunit-extensions-exceptions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpowerunit%2Fpowerunit-extensions-exceptions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowerunit%2Fpowerunit-extensions-exceptions/lists"}