Skip to content

C# Feature - Throw expressions

Throw expressions let throw appear where an expression is expected, which is useful for argument guards and concise members.

C# 7.0 (2017)

if (name == null)
{
throw new ArgumentNullException(nameof(name));
}
_name = name ?? throw new ArgumentNullException(nameof(name));
  • Use throw expressions for short guard clauses, not complicated logic.
  • They pair especially well with ?? and expression-bodied members.