引发与自定义异常
学习如何创建并引发自定义错误消息,以改进调试
引发与自定义异常 是 CoddyKit 上的免费 Ruby Academy 课时。 这是第 2 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ruby Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ruby Academy 课程共包含 3 节课。
引发和自定义异常
引发和自定义异常
有时,您需要在 Ruby 程序中手动引发错误。
在本课中,您将学习如何引发和自定义异常,以改进调试过程。

使用引发异常语句
使用引发异常语句
raise 关键字会生成异常。
raise 'Something went wrong!'引发特定异常
引发特定异常
您可以指定要引发的异常类型。
raise ArgumentError, 'Invalid argument provided!'结合捕获处理引发的异常
结合捕获处理引发的异常
使用 rescue 处理引发的异常。
begin
raise ZeroDivisionError, 'Cannot divide by zero!'
rescue ZeroDivisionError => e
puts "Error caught: #{e.message}"
end创建自定义异常类
创建自定义异常类
通过继承 StandardError 定义您自己的异常类。
class CustomError < StandardError
end
raise CustomError, 'This is a custom error!'自定义异常消息
自定义异常消息
您可以为异常定义自定义消息和属性。
class CustomError < StandardError
def initialize(msg = 'Something went wrong')
super(msg)
end
end
raise CustomError.new('Custom error message!')使用开始、捕获和引发异常
使用 begin - rescue - raise
捕获错误、记录日志,然后再次引发该错误。
begin
raise 'An unexpected error!'
rescue => e
puts "Logging error: #{e.message}"
raise
end定义多个自定义异常
定义多个自定义异常
针对不同的错误创建不同类型的异常。
class FileNotFoundError < StandardError; end
class PermissionDeniedError < StandardError; end
raise FileNotFoundError, 'File not found!'恭喜您!
恭喜您!
您已经学会了如何在 Ruby 中引发和自定义异常。
接下来,您将探索调试技术。

常见问题解答
「引发与自定义异常」课时是免费的吗?
是的 — 「引发与自定义异常」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ruby Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ruby Academy 课程共包含 3 节课。
「引发与自定义异常」这节课中我会学到什么?
学习如何创建并引发自定义错误消息,以改进调试 你通过在浏览器中直接运行的动手代码来练习 Ruby Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Ruby Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Ruby Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 3 节。
「引发与自定义异常」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Ruby Academy 课中编写并运行代码吗?
能。每节 Ruby Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 使用 begin 与 rescue 处理错误
- 引发与自定义异常
- 调试技术