Exceptions: Difference between revisions

Added Prolog implementation
(added langur language example)
(Added Prolog implementation)
Line 2,501:
TargetObject Property System.Object TargetObject {get;}
PSMessageDetails ScriptProperty System.Object PSMessageDetails {get=& { Set-StrictMode -Version 1; $this.Exception.InnerExcep...
</pre>
 
=={{header|Prolog}}==
<lang prolog>foo(X) :-
\+ integer(X),
throw(b('not even an int')).
foo(X) :-
\+ between(1,10,X),
throw(a('must be between 1 & 10')).
foo(X) :-
format('~p is a valid number~n', X).
 
go(X) :-
catch(
foo(X),
E,
handle(E)).
 
handle(a(Msg)) :-
format('~w~n', Msg),
!.
handle(X) :- throw(X).</lang>
{{Out}}
<pre>
?- go(1).
1 is a valid number
true.
 
?- go(5).
5 is a valid number
true.
 
?- go(11).
must be between 1 & 10
true.
 
?- go(test).
ERROR: Unhandled exception: b('not even an int')
?-
</pre>
 
Anonymous user