SystemCallError needs an argument, try the real exceptions.

SystemCallError is a special kind of exception, you should not call it
by yourself :

    1.9.3 (main):0 > SystemCallError.new(1)
    => #<Errno::EPERM: Operation not permitted>
    1.9.3 (main):0 > SystemCallError.new("foo", 1)
    => #<Errno::EPERM: Operation not permitted - foo>
    1.9.3 (main):0 > SystemCallError.new("foo")
    => #<SystemCallError: unknown error - foo>