             switch buildTarget.target.location {
             case .project(let project):
                 guard let projectReference = self.project.getProjectReference(project) else {
-                    fatalError("Unable to find project reference named \"\(project)\" in project.yml")
+                    throw SchemeGenerationError.missingProject(project)
                 }
                 pbxProj = try XcodeProj(pathString: projectReference.path).pbxproj
                 projectFilePath = projectReference.path

    }
}

extension Scheme {
    public init(name: String, target: Target, targetScheme: TargetScheme, debugConfig: String, releaseConfig: String) {
        self.init(

            }

            guard let pbxTarget = pbxProj.targets(named: buildTarget.target.name).first else {
                throw SchemeGenerationError.missingTarget(buildTarget, projectPath: projectFilePath)
            }

            let buildableName: String
