这两种做法都有问题。首先,使用try{}捕获异常需要处理业务逻辑,你可能需要检查API或源代码,研究异常原因,这会让你偏离主要业务逻辑。直接抛出异常似乎不负责任,可能导致代码隐患。对于函数式编程,如stream操作,使用try捕获异常显得滑稽。使用Unchecked Java后,代码将变为真正的流式函数式代码。当无法...
Unchecked开源工具让你永远告别Java异常检查
Unchecked工具将Java中的“检查异常”转换为“未检查出任何异常Exception”。
当遇到Exception异常时,你有两种选择:使用try{}捕获并处理异常,或者将异常继续抛出。
这两种做法都有问题。首先,使用try{}捕获异常需要处理业务逻辑,你可能需要检查API或源代码,研究异常原因,这会让你偏离主要业务逻辑。
直接抛出异常似乎不负责任,可能导致代码隐患。
对于函数式编程,如stream操作,使用try捕获异常显得滑稽。
使用Unchecked Java后,代码将变为真正的流式函数式代码。
当无法处理已检查的异常时,通常的做法是将其作为RuntimeException重新抛出。
这种做法会导致代码污染,同时隐藏异常根本原因,有时可能导致异常丢失。
使用Unchecked Java项目,封装已检查异常不再是必要的。异常将传回调用栈。
Unchecked Java项目不会修改字节码,因为JVM不知道已检查异常,一直是编译器在处理。
配置编译插件时,注意旧版本插件语法不同,详情请参考Maven编译器插件文档。
添加nowarn参数时,使用-Xplugin:unchecked nowarn。
目前支持与现有代码向后兼容,Unchecked已应用于以下开源项目编译和测试:
开源项目:github.com/rogerkeays/u...
更多函数式编程:jdon.com/tag-10341/2024-10-19