StandardError; end class MissingEmailError < StandardError; end class User def self.create(id:) user = # 省略 raise MissingIdError, "User ID cannot be nil" if user.id.nil? raise MissingEmailError, "User email cannot be nil" if user.email.nil? user end end
# 省略 return [:error, :missing_id] if user.id.nil? return [:error, :missing_email] if user.email.nil? [:ok, user] end end # 使用例 status, result = User.create(id: 1) case status when :ok result.save_to_db when :error puts " エラー: #{result}" end