Ruby_异常处理

1.Ruby异常处理格式

begin

可能异常代码

rescue=>  exception

发生异常时执行语句

ensure

一定会执行的语句(类似于java的finally)

end

2.异常信息

将异常信息保存到exception对象中,rescue => exception

exception对象等价于$!

exception.class:异常种类

exception.message:异常信息

exception.backtrace:异常发生的位置  , 等价于$@

begin
	10/0
rescue => ex
	puts "exception"
ensure
	puts "ensure"
end
p "ex.class:        #{ex.class}"
p "ex.message:      #{ex.message}"
p  "ex.backtrace :  #{ex.backtrace}"


3.处理异常中的特殊操作--重试

 rescue

retry

end

retry关键字可以将begin中的操作再执行一次


4.rescue可以有多个,类似于java中catch可以有多个来对不同的异常进行捕获

begin
    ***
rescue Exception,Exception2 => 变量
    ***
rescue  Exception3 => 变量
    ***
rescue  
    ***
end


5.主动抛出异常

raise :抛出最后一次发生的异常
raise message: 抛出RuntimeError ,并将message设置进去
raise 异常类:抛出指定异常类
raise 异常类,message:抛出指定异常类,设置message






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值