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

C# logoC# 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));

        …
    }
}

Комментарии (2) -

Денис 17.10.2017 15:58:10

у Вас в примере написано:
var counter = string.IsNullOrEmpty(name) ?name)
            name.Length :
            throw new ArgumentNullException(nameof(name));

имелось ввиду
var counter = !string.IsNullOrEmpty(name)
    ? name.Length
     : throw new ArgumentNullException(nameof(name))

или я что-то не так понял в Вашем примере?

Денис Да. Спасибо что заметили опечатку.

Добавить комментарий