ruby 为什么在initialize构造函数中使用关键字raise会给出错误?

r7xajy2e  于 2022-11-29  发布在  Ruby
关注(0)|答案(1)|浏览(102)

我问这个是因为我做了一个小挑战,所有的测试用例都失败了,我意识到我的代码是好的,让我告诉你发生了什么。
所以我有这样一段代码:

class Person
  def initialize(name)
    @name = name

  end

  def printName 
    return @name
  end

end

human = Person.new('Josh')

puts human.printName

输出非常明显,但当我第一次尝试运行它时,我看到代码中有异常的raise关键字,代码是这样的,并给了我以下错误:

class Person
  def initialize(name)
    @name = name
    raise "Implement intialize method"

  end

  def printName 
    return @name
    raise "Implement print method"
  end

end

human = Person.new('Josh')

puts human.printName

输出:initialize': Implement intialize method (RuntimeError)
只要我从构造函数中删除了raise关键字,测试用例就成功了,有人能解释一下为什么会发生这种情况吗?

eqqqjvef

eqqqjvef1#

内核的raise方法在您的代码中设置时基本上会引发异常或RuntimeError ...看起来挑战期望您实现这些方法(暗示您将删除raise调用)

相关问题