Ai đó có thể cho tôi biết có cách nào để xử lý ngoại lệ như một phương thức phổ biến và sử dụng nó trong một phương thức? Hãy để tôi giải thích thêm.Việc xử lý ngoại lệ như một phương thức phổ biến trong Ruby
Ví dụ, tôi có phương pháp sau đây
def add(num1, num2)
begin
num1 + num2
rescue Exception => e
raise e
end
end
def divide(num1, num2)
begin
num1/num2
rescue Exception => e
raise e
end
end
Như bạn có thể thấy, mặc dù phương pháp của tôi chỉ cần một dòng, vì mã xử lý ngoại lệ, phương pháp này được lớn hơn.
Những gì tôi đang tìm kiếm là một giải pháp mỏng hơn như (chỉ là một suy nghĩ)
def add(num1, num2)
num1 + num2 unless raise_exception
end
def divide(num1, num2)
num1/num2 unless raise_exception
end
def raise_exception
raise self.Exception
end
Xin lưu ý các mã trên không hoạt động, chỉ là ý tưởng của tôi. Điều này có thể hay là có cách nào khác tốt?
Lưu ý rằng bạn cũng có thể cắt giảm độ dài bằng cách loại bỏ 'begin..end', vì bạn có thể có' rescue' trong 'def..end' với cùng tác dụng. – hammar