MST
星途 面试题库

面试题:Ruby中异常处理机制的基本使用

在Ruby中,写出一个使用`begin - rescue - end`结构捕获并处理`ZeroDivisionError`异常的代码示例,并说明`rescue`块中可以进行哪些操作。
36.2万 热度难度
编程语言Ruby

知识考点

AI 面试

面试题答案

一键面试
begin
  result = 10 / 0
rescue ZeroDivisionError => e
  puts "捕获到除零错误: #{e.message}"
  # 这里可以进行的操作示例:
  # 1. 记录错误日志
  # logger.error "发生除零错误: #{e.message}"
  # 2. 给用户友好提示
  # return "操作出现错误,请检查输入"
  # 3. 进行其他恢复性操作,例如给result赋一个默认值
  result = nil
end

rescue块中可以进行以下操作:

  • 记录错误信息:使用日志库(如Logger)记录错误的详细信息,方便后续排查问题。
  • 提供用户友好提示:向用户显示一个友好的错误提示,而不是让用户看到原始的异常信息。
  • 进行恢复性操作:比如给变量赋默认值,使程序可以继续执行而不是中断。