https://github.com/tinyj/tinyj-lava-api
Functional interfaces with checked exceptions
https://github.com/tinyj/tinyj-lava-api
exception-handler exceptions functional java tinyj
Last synced: 30 days ago
JSON representation
Functional interfaces with checked exceptions
- Host: GitHub
- URL: https://github.com/tinyj/tinyj-lava-api
- Owner: tinyj
- License: other
- Created: 2017-02-06T10:20:30.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-21T13:23:20.000Z (about 3 years ago)
- Last Synced: 2025-07-28T10:52:05.090Z (7 months ago)
- Topics: exception-handler, exceptions, functional, java, tinyj
- Language: Java
- Size: 34.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# TinyJ Lava-API
[](https://travis-ci.org/tinyj/tinyj-lava-api)
Functional interfaces with checked exceptions.
Java's default functional interfaces (i.e. `java.util.function.Function` and
friends) allow for raising checked exception, which basically denies us from
using these neat lambda shorthands for anything that may throw checked
exceptions. tinyj-lava-api is a first step to fix that defining equivalent
functional interfaces with declared checked exceptions.
Additionally tinyj-lava-api defines two exception types. `NoException` is a
marker class that allows to declare a method to not to throw any exception at
all. *This is not enforced by the compiler* though. `WrappedCheckedException`
is just for wrapping checked exceptions. While `new RuntimeException(e)`
achieves the same thing using `WrappedCheckedException` allows for clearer
communication and makes unwrapping of such exceptions much easier.
## API documentation
You can find the API documentation [here](APIdoc.md).
## License
Copyright © 2017 Eric Karge
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.