[erlang-questions] is empty catch statement possible?
Fri Feb 10 08:17:47 CET 2012
Hello again, Motiejus.
One more thing: macro variables' scope is not limited to the text of macro, so in a piece of code such as:
lager:set_loglevel(lager_console_backend, NewLevel), %% NewLevel /= InitialLevel
?silent(SLevel, OtherExpr), %% badmatch here!
..you'll get a badmatch error on your __Lager_OldLevel variable. Redefining your macro as a normal function would be a great solution.
09.02.2012, 23:18, "Motiejus Jakštys" <desired.mta@REDACTED>:
> On Thu, Feb 09, 2012 at 11:06:56PM +0400, Konstantin Tcepliaev wrote:
>> Hello, Motiejus.
>> 1. Yes, except that your code will return your Expr wrapped in zero
>> arity fun, which is probably not what you want, though I'm not sure.
> Yes, that was another mistake...
>> 2. You can omit 'catch' clause entirely, leaving only 'try' and
> Cool. Not sure why didn't work before, when I tried that.
>> and replace your outer lambda with begin ... end, as that'll be a bit
>> faster and a lot more readable, and second - avoid starting variable
>> name with underscore when you're going to use its value somewhere,
>> it'll save you from stupid debugging someday.
> Didn't know it's possible to do like that. Thanks!
More information about the erlang-questions