# ProblemReporter

@Incubating
interface ProblemReporter

Defines different ways to report problems.

#### Since

8.6

## Functions

create
Link copied to clipboard
abstract fun create(problemId: ProblemId, action: Action<in ProblemSpec>): Problem
Creates a new problem without reporting it immediately.
report
Link copied to clipboard
abstract fun report(problems: Collection<out Problem>)
Reports the target problems.
abstract fun report(problem: Problem)
Reports the target problem.
abstract fun report(problemId: ProblemId, spec: Action<in ProblemSpec>)
Configures and reports a new problem.
throwing
Link copied to clipboard
abstract fun throwing(exception: Throwable, problems: Collection<out Problem>): RuntimeException
Reports the target problems and throws a runtime exception.
abstract fun throwing(exception: Throwable, problem: Problem): RuntimeException
abstract fun throwing(exception: Throwable, problemId: ProblemId, spec: Action<in ProblemSpec>): RuntimeException
Configures a new problem, reports it, and uses it to throw a new exception.