diff options
Diffstat (limited to 'dotnet/Mammoth/Couscous/mammoth/internal/util/PassThroughException.cs')
| -rw-r--r-- | dotnet/Mammoth/Couscous/mammoth/internal/util/PassThroughException.cs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/dotnet/Mammoth/Couscous/mammoth/internal/util/PassThroughException.cs b/dotnet/Mammoth/Couscous/mammoth/internal/util/PassThroughException.cs new file mode 100644 index 0000000..4bd2a2a --- /dev/null +++ b/dotnet/Mammoth/Couscous/mammoth/internal/util/PassThroughException.cs @@ -0,0 +1,21 @@ +using Mammoth.Couscous.java.lang; +using Mammoth.Couscous.java.io; + +namespace Mammoth.Couscous.org.zwobble.mammoth.@internal.util { + internal class PassThroughException : RuntimeException { + internal static T wrap<T>(SupplierWithException<T, IOException> supplier) { + try { + return supplier.get(); + } catch (IOException exception) { + throw new PassThroughException(exception); + } + } + + private readonly IOException _exception; + + internal PassThroughException(IOException exception) { + _exception = exception; + } + } +} + |
