Is it normal to be kicked out of irb?

Is it normal to be kicked off of irb when a Fatal error occurs ? I was
kicked of of it while testing this (kicked off != code halt with an
exception):

$ irb
irb(main):001:0> def is_prime?(n); (“1” * n) !~ /^1?$|^(11+?)\1+$/ ;
rescue NoMemoryError; puts “ouch”; end
=> nil
irb(main):002:0> is_prime?(2)
=> true
irb(main):005:0> is_prime?(100000000)
ouch
=> nil
irb(main):006:0> is_prime?(1000000000)
[FATAL] failed to allocate memory
$

p.s.: is_prime? method taken from
http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/

On Thu, Jul 3, 2008 at 6:15 AM, Emmanuel O. [email protected]
wrote:

irb(main):005:0> is_prime?(100000000)

It does not surprise me that IRB exits ungracefully in that case. BTW
it does not surprise me either that the backtracking regular
expression runs out of memory for such large numbers even if they are
even ;).

Cheers
Robert


http://ruby-smalltalk.blogspot.com/


AALST (n.) One who changes his name to be further to the front
D.Adams; The Meaning of LIFF