2016-12-15 1 views
1

Ich versuche Fehler Klasse von Durian library, für den Fang von geprüften Ausnahmen in Lambda-Funktionen von Java 8.Durian der Fehler Klasse rethrow() einwickeln Methode ruft Compiler-Fehler

Ich schrieb einfache Funktion zu verwenden:

void eat(NsiItemInfoType food) throws CantUpdNSI {} 

und zu versuchen, es zu nennen:

dieser Code funktioniert gut:

res.getNsiList().getNsiItemInfo().stream().forEach(Errors.rethrow().wrap(this:: eat)); 

Aber dieser Code ruft Compilerfehler Die Methode Wrap (Throwing.Function) ist nicht eindeutig für den Typ Errors.Rethrowing

res.getNsiList().getNsiItemInfo().stream().forEach(Errors.rethrow().wrap(t -> eat(t))); 

ich, warum nicht verstehen kann.

habe ich Beispiele von hier: https://github.com/diffplug/durian/blob/v2.0/test/com/diffplug/common/base/ErrorsExample.java

Durian Version: com.diffplug.durian 3.4.0

+0

I kann das Problem mit JRE1.8 nicht reproduzieren. Welche JRE-Version verwenden Sie genau? – Spotted

+0

Genau jdk1.8.0_60 – Lev

+0

Versucht mit jdk1.8.0_60 ohne Problem. Welche IDE verwendest du (und welche Version)? – Spotted

Antwort

0

ich als nächstes tun müssen, Klammern über essen zu platzieren()

res.getNsiList().getNsiItemInfo().stream().forEach(Errors.rethrow().wrap(t ->{ eat(t); })); 
Verwandte Themen