大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要讲解了Java throw Exception实现异常转换的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
在赣州等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都网站制作 网站设计制作按需网站设计,公司网站建设,企业网站建设,高端网站设计,网络营销推广,成都外贸网站建设,赣州网站建设费用合理。
简介
之前的文章我们讲到,在stream中处理异常,需要将checked exception转换为unchecked exception来处理。
我们是这样做的:
staticConsumer consumerWrapper( ThrowingConsumer throwingConsumer) { return i -> { try { throwingConsumer.accept(i); } catch (Exception ex) { throw new RuntimeException(ex); } }; }
将异常捕获,然后封装成为RuntimeException。
封装成RuntimeException感觉总是有那么一点点问题,那么有没有什么更好的办法?
throw小诀窍
java的类型推断大家应该都知道,如果是 这样的形式,那么T将会被认为是RuntimeException!
我们看下例子:
public class RethrowException { public staticR throwException(Exception t) throws T { throw (T) t; // just throw it, convert checked exception to unchecked exception } }
上面的类中,我们定义了一个throwException方法,接收一个Exception参数,将其转换为T,这里的T就是unchecked exception。
接下来看下具体的使用:
@Slf4j public class RethrowUsage { public static void main(String[] args) { try { throwIOException(); } catch (IOException e) { log.error(e.getMessage(),e); RethrowException.throwException(e); } } static void throwIOException() throws IOException{ throw new IOException("io exception"); } }
上面的例子中,我们将一个IOException转换成了一个unchecked exception。
看完上述内容,是不是对Java throw Exception实现异常转换的方法有进一步的了解,如果还想学习更多内容,欢迎关注创新互联行业资讯频道。