Skip to content

Commit 0c6c36f

Browse files
committed
Result::expect for results with exceptions as failure types
1 parent 1219c8f commit 0c6c36f

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

  • src/main/java/de/variantsync/evolution/util/functional

src/main/java/de/variantsync/evolution/util/functional/Result.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -221,14 +221,6 @@ public SuccessType getSuccess() {
221221
return expect("Tried to retrieve the success value of a Failure result!");
222222
}
223223

224-
public SuccessType expect(final String message) {
225-
if (isFailure()) {
226-
Logger.error(message);
227-
throw new RuntimeException(message);
228-
}
229-
return result;
230-
}
231-
232224
public FailureType getFailure() {
233225
return failure;
234226
}
@@ -240,6 +232,18 @@ public void assertSuccess() {
240232
assert isSuccess();
241233
}
242234

235+
public SuccessType expect(final String message) {
236+
if (isFailure()) {
237+
Logger.error(message);
238+
throw new RuntimeException(message);
239+
}
240+
return result;
241+
}
242+
243+
public static <S> S expect(final Result<S, ? extends Throwable> result) {
244+
return result.match(Function.identity(), e -> {throw new RuntimeException(e);});
245+
}
246+
243247
public void ifSuccess(final Consumer<SuccessType> f) {
244248
if (isSuccess()) {
245249
f.accept(getSuccess());

0 commit comments

Comments
 (0)