面试题答案
一键面试begin
# 可能会引发 ZeroDivisionError 的代码
result = 1 / 0
rescue ZeroDivisionError => e
# 记录异常信息,这里以输出到日志文件为例
File.open('error.log', 'a') do |file|
file.puts "#{Time.now}: ZeroDivisionError - #{e.message}"
file.puts e.backtrace.join("\n")
end
# 发送报警通知,这里假设存在 send_alarm 方法
send_alarm("ZeroDivisionError occurred: #{e.message}")
end
假设 send_alarm
方法已经定义,它接收报警信息作为参数并向监控系统发送通知。实际应用中需要根据具体的监控系统 API 来实现 send_alarm
方法。