Graham Barr wrote:
> 
> > If we're really talking about new keywords, we wouldn't need a ; at the end 
> > of the last block; it's only needed at the moment because eval is a 
> > function, not a keyword.  I would vote for the keywords only because people 
> > are going to forget the ; otherwise.
> 
> That maybe a reason to use `try' instead of `eval'. Another difference would
> be that try will rethrow uncaught error, eval does not. And of course
> a die in any catch block would throw an error to a try/eval block up the
> stack, after running the continue block. So a    die;   in the catch
> block would rethrow the same error.

I support the idea of renaming the block eval as die, and leaving eval
for string eval.

But I'm against the idea of implicit rethrowing in any case.

Sure, other languages do it, but perl doesn't, and personally I think
it's a better paradigm. 

If you really want to rethrow unhandled exceptions, you can always

        catch { die }

-- 
John Porter

Reply via email to