日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java 8:lambda表達式中的強制檢查異常處理。為什么是強制性的而不是可選性的?

瀏覽:208日期:2024-04-24 08:55:54
如何解決Java 8:lambda表達式中的強制檢查異常處理。為什么是強制性的而不是可選性的??

不確定我是否真的回答了您的問題,但是您不能簡單地使用類似的內容嗎?@H_301_1@

public final class supplierUtils { private supplierUtils() { } public static <T> supplier<T> wrap(Callable<T> callable) {return () -> { try {return callable.call(); } catch (RuntimeException e) {throw e; } catch (Exception e) {throw new RuntimeException(e); }}; }}public class JdbcConnectionPool extends ObjectPool<Connection> { public JdbcConnectionPool(int maxConnections, String url) {super(supplierUtils.wrap(() -> DriverManager.getConnection(url)), maxConnections); }}解決方法

我正在使用Java 8的新lambda功能,發現Java 8提供的實踐確實很有用。但是,我想知道是否有一種 很好的方法來解決以下情況。假設您有一個對象池包裝器,需要某種工廠來填充對象池,例如(使用java.lang.functions.Factory):

public class JdbcConnectionPool extends ObjectPool<Connection> { public ConnectionPool(int maxConnections,String url) {super(new Factory<Connection>() { @Override public Connection make() {try { return DriverManager.getConnection(url);} catch ( SQLException ex ) { throw new RuntimeException(ex);} }},maxConnections); }}

將功能接口轉換為lambda表達式后,上面的代碼變為:

public class JdbcConnectionPool extends ObjectPool<Connection> { public ConnectionPool(int maxConnections,String url) {super(() -> { try {return DriverManager.getConnection(url); } catch ( SQLException ex ) {throw new RuntimeException(ex); }},maxConnections); }}

確實還算不錯,但是檢查的異常java.sql.SQLException需要在lambda內部加上try/catch塊。在我公司,我們長時間使用兩個接口:

IOut<T>相當于java.lang.functions.Factory;還有一個特殊的接口,用于通常需要檢查異常傳播的情況:interface IUnsafeOut<T,E extends Throwable> { T out() throws E; }。

這兩個IOut<T>和IUnsafeOut<T>應該遷移到Java 8中被刪除,但是不存在用于精確匹配IUnsafeOut<T,E>。如果lambda表達式可以像未檢查的那樣處理已檢查的異常,則可以在上面的構造函數中像下面這樣簡單地使用它:

super(() -> DriverManager.getConnection(url),maxConnections);

看起來更干凈了。我看到可以重寫ObjectPool超類來接受我們的IUnsafeOut<T>,但是據我所知,Java8尚未完成,因此可能會有一些變化,例如:

實現類似于IUnsafeOut<T,E>?(說實話,我認為這很臟-受試者必須選擇接受什么:Factory不能兼容的方法簽名的“不安全工廠”)只是忽略了lambda中的檢查異常,因此不需要IUnsafeOut<T,E>代理嗎?(為什么不這樣做?例如,另一個重要的變化:我使用的OpenJDK javac現在不需要將變量和參數聲明為final在匿名類[功能接口]或lambda表達式中捕獲)

因此,問題通常是:有沒有辦法繞過lambda中的檢查異常,還是在Java 8最終發布之前計劃在將來進行?

更新1

嗯,據我所知,盡管參考文章的日期為2010年,但看來目前尚無辦法:BrianGoetz解釋了Java中的異常透明性。如果Java8中沒有太大變化,則可以認為是答案。Brian也說interface ExceptionalCallable<V,E extendsException>(我在IUnsafeOut<T,E extends Throwable>代碼遺留中提到的內容)幾乎沒有用,我同意他的觀點。

我還想念其他東西嗎?

標簽: java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产一卡不卡| 日韩国产91| 国产精品专区免费| 91在线成人| 中文欧美日韩| 免费观看亚洲| 国产精品久久久久久久久久妞妞| 婷婷国产精品| 日本а中文在线天堂| 欧美有码在线| 日韩欧美中文字幕一区二区三区 | 国产日韩免费| 成人一区而且| 日韩在线视频精品| 国模大尺度视频一区二区| 欧美精品一二| 欧美一区自拍| 蜜桃视频一区二区| 久久精品123| 国产精品一区二区av交换| 亚洲电影在线一区二区三区| 国产毛片久久久| 日韩精品a在线观看91| 你懂的国产精品永久在线| 夜夜嗨网站十八久久| 石原莉奈在线亚洲三区| 国产日韩欧美| 久久99伊人| 日韩电影在线视频| 国产精品综合| 激情婷婷久久| av资源中文在线| 天堂av一区| 亚洲第一精品影视| 欧美搞黄网站| 久久精品国产网站| 最新亚洲一区| 鲁大师成人一区二区三区| 婷婷丁香综合| 日韩不卡在线观看日韩不卡视频| 亚洲精品护士| 日韩**一区毛片| 国产精品久久久一区二区| 麻豆91在线播放| 亚洲成人国产| 亚洲精品伊人| 久久免费视频66| 免费久久99精品国产自在现线| 91国内精品| 欧美日韩亚洲一区| 国产精品毛片久久| 影音先锋久久| 国产精品亚洲一区二区在线观看 | 99精品小视频| 国产在线观看www| 色88888久久久久久影院| 欧美www视频在线观看| 国产精品成人a在线观看| 精品久久久久中文字幕小说| 99久久精品网站| 97欧美在线视频| 国产美女亚洲精品7777| 午夜视频一区二区在线观看| 在线国产一区| 福利视频一区| 国产欧美午夜| 亚洲激情社区| 久久久夜夜夜| 先锋亚洲精品| 国产一区91| 福利片在线一区二区| 日韩激情一区二区| 亚洲一区欧美二区| 色综合www| 精品无人区麻豆乱码久久久| 亚洲开心激情| 日韩影院精彩在线| 婷婷综合网站| 亚洲网站视频| 日韩精品看片| 久久国产直播| 久久国产欧美| 亚洲精品一区二区妖精| 欧美午夜不卡| 天堂成人免费av电影一区| 免费观看亚洲天堂| 国产亚洲精品美女久久久久久久久久| 青青伊人久久| 欧美激情另类| 一区二区三区四区精品视频| 三级精品视频| 午夜在线精品偷拍| 亚洲深深色噜噜狠狠爱网站 | 亚洲免费播放| 好吊视频一区二区三区四区| 午夜在线播放视频欧美| 视频一区国产视频| 一区二区不卡| 亚洲一级少妇| 青青伊人久久| 欧美极品一区二区三区| 日韩高清在线一区| 亚洲区欧美区| 国产亚洲精品精品国产亚洲综合| 在线观看视频免费一区二区三区| 中文字幕日韩亚洲| 国产精品欧美一区二区三区不卡| 亚洲女同中文字幕| 99日韩精品| 日韩激情综合| 好吊一区二区三区| 国产精品巨作av| 亚洲精品电影| 久久一区欧美| 视频在线观看91| 日韩中文字幕| 日韩亚洲一区在线| 日韩影院精彩在线| 精品99久久| 日韩精品永久网址| 麻豆理论在线观看| 欧美综合二区| 亚洲欧美视频一区二区三区| 偷拍亚洲精品| 久久91视频| 日本va欧美va精品发布| 视频一区二区中文字幕| 国产成人精品福利| 久久xxxx精品视频| 不卡一二三区| 中文字幕系列一区| 精品国产免费人成网站| www.51av欧美视频| 免费高潮视频95在线观看网站| 亚洲伊人av| 亚洲天堂久久| 国产精品试看| 日本大胆欧美人术艺术动态| 99成人在线| 亚洲欧美激情诱惑| 老司机久久99久久精品播放免费| 亚洲久久视频| 久久国产精品免费精品3p| 里番精品3d一二三区| 国产精选在线| se01亚洲视频| 亚洲精品在线观看91| 六月婷婷一区| 欧美影院视频| 国产一区二区三区不卡视频网站| 日韩国产一区二区| 99久久久久久中文字幕一区| 国产精品日韩久久久| 亚洲毛片在线免费| 国产九九精品| 电影亚洲精品噜噜在线观看| 亚洲经典在线| 日韩福利视频导航| 久久久国产精品网站| 午夜欧美巨大性欧美巨大| 在线综合亚洲| 国产日韩一区二区三免费高清 | 亚洲综合专区| 国产伦理一区| 国产欧美一区二区三区精品酒店| 激情久久久久久久| 亚洲一区中文| 日韩精品1区2区3区| 成人午夜在线| 免费观看久久av| 日韩av一区二区三区四区| 激情不卡一区二区三区视频在线| 在线日韩欧美| 日本精品另类| 成人日韩在线观看| 亚洲狼人精品一区二区三区| 成人台湾亚洲精品一区二区| 欧美日韩国产综合网| 国产日韩一区二区三区在线| 99久久婷婷这里只有精品| 日韩精品久久理论片| 三级在线看中文字幕完整版| 亚洲国产不卡| 国产一区 二区| 欧美日韩国产高清电影| 国产三级精品三级在线观看国产| 在线日韩电影| 国产乱码精品| 欧美+日本+国产+在线a∨观看| 91麻豆精品激情在线观看最新| 日韩不卡在线| 日韩av二区在线播放| 香蕉久久99| 国产免费av一区二区三区| 亚洲成人精选| 久久99高清| 亚洲精品福利| 国产网站在线| 欧美一级网址| 亚洲精品午夜av福利久久蜜桃|