Abstracting exception checking

I have a range of methods that use the same exception handling.

How can I abstract out the exception checking into a separate function?

See example below, thanks a lot for your help folks!

def a
  code
  begin
    rescue 1...
    rescue 2...
    rescue 3...
    rescue 4...
  end
end

def b
  code
  begin
    rescue 1...
    rescue 2...
    rescue 3...
    rescue 4...
  end
end

Answers


The simplest solution would be to pass your code to a method as a block and yield to it within a begin/rescue expression:

def run_code_and_handle_exceptions
  begin
    yield
  rescue 1...
  rescue 2...
  rescue 3...
  rescue 4...
  end
end

# Elsewhere...
def a
  run_code_and_handle_exceptions do
    code
  end
end
# etc...

You may want to come up with a more succinct method name than run_code_and_handle_exceptions!


Need Your Help

Debugging Web Service with SOAP Packet

c# web-services soap tcptrace-pocketsoap

I have a web service that I created in C# and a test harness that was provided by my client. Unfortunately my web service doesn't seem to be parsing the objects created by the test harness. I belie...

Compute a Java functions signature

java method-signature

Is there a way to compute a Java-classes' methods' signature ? A Signature