回复: [PHP-DEV] resume after exception

From: Date: Tue, 03 Apr 2012 07:28:29 +0000
Subject: 回复: [PHP-DEV] resume after exception
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-59339@lists.php.net to get a copy of this message
If just for exception recovery how about implement ruby's retry ? http://www.tutorialspoint.com/ruby/ruby_loops.htm Ruby retry statement section. 在 2012年4月2日星期一,下午8:44,Rasmus Schultz 写道: > I was just reading about the new async/await keywords in C# 5.0, and while > this has no particular relevance to PHP as such, it got me thinking about > this idea... > > What if you could resume execution after an exception was thrown? > > Fictive example: > > function test() > { > echo "Begin Test!\n"; > > throw new Interrupt(); > > echo "Execution resumed!"; > } > > try > { > test(); > } > catch (Interrupt $e) > { > echo "Execution interrupted.\n"; > resume; > } > > The output of this would be: > > Begin Test! > Execution interrupted. > Execution resumed! > > In other words, Interrupt is a new type of Exception, from which you can > recover, using the new resume keyword. > > Taking this one step further, imagine it were also possible to serialize() > an Interrupt - and resume it at a later time. This would open up entirely > new possibilities for (AJAX) web-application frameworks, which would be > able to suspend execution, serialize the script state, return a response, > wait for further interaction from the user, and then resume execution. > > I'm sure there are lots of problems with this idea, and perhaps it's not a > good fit for PHP at all, but I figured it couldn't harm to put the idea out > there anyway :-) > > Any thoughts?

« previous php.internals (#59339) next »