On Fri, Aug 18, 2000 at 11:04:03PM -0600, Tony Olekshy wrote:
> As currently promulgated, catch "Foo" {} will always catch,
> because "Foo" is true.  Will this cause confusion for developers
> who meant to say catch Foo {}?  And what happens when someone
> says catch "Foo", "Bar" {}?
> 
> We can't just say that catch Foo {} and catch "Foo" {} are the
> same thing, or that catch "Foo" {} is outlawed, because catch
> $test {} is supposed to work even if $test *is* a string.
> 
> Or can we?  I'm not a parser expert.
> 
> And while I'm on the topic, how likely is it that
> 
>       catch <expr> { ... }

I am of the opinion that only a class name should follow catch.

If someon wants to catch based on an expression they should
use
  catch {
    if (<expr>) {
    }
    else {
      # rethrow the error
    }
  }

Graham.

Reply via email to