设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 370|回复: 1
打印 上一主题 下一主题

[有事请教] 请问:begin结构是什么意思?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
5685
在线时间
782 小时
注册时间
2019-1-20
帖子
191
1
发表于 2023-12-7 23:40:53 | 显示全部楼层
遇到特定的,没有 def 过的单词,先去查查对应版本的帮助手册嘛

begin
例子:

begin
  do_something
rescue
  recover
ensure
  must_to_do
end

语法:

begin
  表达式 ..
[rescue [error_type,..] [then]
  表达式 ..]..
[ensure
  表达式 ..]
end

若给出了 rescue 部分(可以有若干个)的话,就可以在发生异常时捕捉到它。若存在与异常类型一致的 rescue 部分的话,就执行 rescue 的内容。
发生异常时,可以使用内部变量 $! 来查看异常的情况。

若 error_type 被省略,则将捕捉 StandardError 的子类中的所有异常。
Ruby 的大部分内部异常是 StandardError 的子类。具体请参考 内部异常类。

在 rescue 部分中,error_type 与普通的参数一样接受计算,若符合的话就执行相应部分的内容。
若 error_type 的计算值既非类又非模块的话,则引发 TypeError 异常。

若存在 ensure 部分的话,则在 begin 表达式结束之前一定会计算它。

begin 表达式会返回其自身或 rescue 部分最后的计算结果。

提高解答机会的方法:
看一下对应版本的帮助文件 看天气预报说今天不下雨
改变问题为更有可能的或常见的 如:天气自动变化下雨→天气系统 果然不准呀~
使用论坛的搜索功能查找相关问题 好丧啊... ...想看女装
清楚说明实际上你想解决的问题  想看坛友的女装  
脚本自己有改过的地方要标明  不要遮脸的
脚本有问题但不是默认的要全部贴出来 大胆点,尽情发
三包原则:包有BUG,包甩锅,包咕咕
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-15 02:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表