i'm sorry to interrupt,
but all you REALLY NEED is to tweak the "try..catch" a little bit,
in a manner that the catch clause receives and returns
more comprehensible values, the values that are clearly linked
with the failed expressions and human readable.
you do not need a new messy CRYPTIC operator.
try
{ok, Result} = foo(...)
, {ok, _} = foo2(...)
catch
{somehow_identify_which_line_failed, unobscured_the_rightside_value}
This here is exactly the problem -- you can't somehow identify which
line failed unobscured with the right value.
[irrelevant technicalities skipped]
so this problem should be solved.
exactly this problem.
and another operator is not a solution.
option 1:
you introduce labels in the try's context
try
a: {ok, Result} = foo()
, b: {ok, R} = foo2()
catch
{a, Error_Code, Actual_Return_Value} -> ...
; {b, _} -> ...
end
_______________________________________________
eeps mailing list
[email protected]
http://erlang.org/mailman/listinfo/eeps