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

Stop code execution if file is missing

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

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!\n\n" 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:

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