C# 7 – Возможности для выброса исключений

C# logo C# 7 предоставляет больше возможностей для выброса исключений, расширяя количество способов как это можно сделать.

Теперь можно выбрасывать исключения вместо

  • выражений, заменяющих тела методов, свойств и т.д.
  • при проверке на null
  • при проверке условий.
public class ExceptionsDemo
{
    private string _title;

    // выброс исключений в выражениях
    public void GetUser(int id) => throw new NotImplementedException();
    public void SetTitle(string title) => _title = title ?? throw new ArgumentNullException(nameof(title));

    public void CheckUserName(string name)
    {
        // Проверка на null
        var currentTitle = _title ?? throw new InvalidOperationException();

        // Проверка условия
        var counter = string.IsNullOrEmpty(name) ?
            name.Length :
            throw new ArgumentNullException(nameof(name));


    }
}