We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 0ebbcff commit bf37dceCopy full SHA for bf37dce
tests/run/rescue.scala
@@ -0,0 +1,13 @@
1
+object lib {
2
+ inline def (op: => T) rescue[T] (fallback: => T) = try op catch { case _: Throwable => fallback }
3
+ inline def (op: => T) rescue[T, E <: Throwable] (fallback: E => T) = try op catch { case ex: E => fallback(ex) }
4
+}
5
+
6
+import lib._
7
8
+@main def Test = {
9
+ assert((9 / 1 rescue 1) == 9)
10
+ assert((9 / 0 rescue 1) == 1)
11
+ assert(((9 / 0 rescue { ex: NullPointerException => 5 }) rescue 10) == 10)
12
+ assert(((9 / 0 rescue { ex: ArithmeticException => 5 }) rescue 10) == 5)
13
0 commit comments