停止代码执行如果丢失文件



我使用此代码来加载配置文件。

def load_environment_config(gateway, trx_type)
  @config = YAML.load_file("config/#{env}_config.yml")["#{env.upcase}"]
  puts "nMissing gateway configuration for #{gateway} in file config/#{env}_config.yml!nn" unless @config[gateway]
end

如果丢失了文件配置中的行,我如何停止代码执行?

您可以raise例外:

def load_environment_config(gateway, trx_type)
  @config = YAML.load_file("config/#{env}_config.yml")[env.to_s.upcase]
  raise "Missing ..." unless @config[gateway]
end

如果未救出,哪个将停止执行,通常会打印错误消息及其回溯。

您也可以使用自己的Exception类:

class ConfigurationError < StandardError; end
def load_environment_config(gateway, trx_type)
  @config = YAML.load_file("config/#{env}_config.yml")[env.to_s.upcase]
  raise ConfigurationError, "Missing ..." unless @config[gateway]
end

相关内容