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

Content added Content deleted
(Add Nimrod)
Line 1,554: Line 1,554:
at NestedExceptions.NestedExceptions.Foo()
at NestedExceptions.NestedExceptions.Foo()
at NestedExceptions.NestedExceptions.Main()</pre>
at NestedExceptions.NestedExceptions.Main()</pre>

=={{header|Nimrod}}==
<lang nimrod>type U0 = object of EBase
type U1 = object of EBase

proc baz(i) =
if i > 0: raise newException(U1, "Some error")
else: raise newException(U0, "Another error")

proc bar(i) =
baz(i)

proc foo() =
for i in 0..1:
try:
bar(i)
except U0:
echo "Function foo caught exception U0"

foo()</lang>


=={{header|Objective-C}}==
=={{header|Objective-C}}==