diff options
Diffstat (limited to 'ruby/src')
-rw-r--r-- | ruby/src/IceRuby/Connection.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ruby/src/IceRuby/Connection.cpp b/ruby/src/IceRuby/Connection.cpp index 1f5c627c1dc..3d1398e8778 100644 --- a/ruby/src/IceRuby/Connection.cpp +++ b/ruby/src/IceRuby/Connection.cpp @@ -151,7 +151,14 @@ IceRuby_Connection_setACM(VALUE self, VALUE t, VALUE c, VALUE h) heartbeat = static_cast<Ice::ACMHeartbeat>(FIX2LONG(heartbeatValue)); } - (*p)->setACM(timeout, close, heartbeat); + try + { + (*p)->setACM(timeout, close, heartbeat); + } + catch(const IceUtil::IllegalArgumentException& ex) + { + throw RubyException(rb_eArgError, ex.reason().c_str()); + } } ICE_RUBY_CATCH return Qnil; |