Exceptions/Catch an exception thrown in a nested call: Difference between revisions

Content added Content deleted
Line 857: Line 857:
bazCallCount += 1
bazCallCount += 1
if bazCallCount == 1 {
if bazCallCount == 1 {
throw Error.BazCall1()
throw @BazCall1()
} else if bazCallCount == 2 {
} else if bazCallCount == 2 {
throw Error.BazCall2()
throw @BazCall2()
}
}
}
}
Line 873: Line 873:
bar()
bar()
} catch {
} catch {
BazCall1() => print("BazzCall1 caught.")
@BazCall1() => print("BazzCall1 caught.")
}
}
calls -= 1
calls -= 1
Line 884: Line 884:


<pre>BazzCall1 caught.
<pre>BazzCall1 caught.
BazCall2
Unhandled exception. Runtime exception Dy601: BazCall2
Stack trace: ...</pre>
Stack trace: ...</pre>