C# 에서는 방법에서 null 매개 변수를 체크

반응형
string? info = null;
void SayHI(string message )
{
    Console.WriteLine(value:$"Hello {message}");
}
SayHI(info); 

 

void SayHI(string message )
{
    if(message  is null)
    {
        throw new ArgumentNullException(nameof(message));
    }
    Console.WriteLine(value:$"Hello {message}");
}
void SayHI(string message )
{
    //if(message  is null)
    //{
    //    throw new ArgumentNullException(nameof(message));
    //}
    ArgumentNullException.ThrowIfNull(message);
    Console.WriteLine(value:$"Hello {message}");
}

 

public static class Thrower
{
	public static Exception ThrowIfFailedValidation<T>(T target, Func<T, bool> validation)
	{
		if (validation(target) is false)
		{
			throw new ValidationFailedException();
		}
	}
	
	public static Exception ThrowIfNullOrWhitespace(string? text, string? message)
	{
		if (string.IsNullOrWhiteSpace(text))
		{
			throw new TextNullOrWhitespaceException(message);
		}
	}

    public static Exception ThrowForbidden(string message, int resultCode)
    {
        throw new ForbiddenException(HttpStatusCode.Forbidden, message, resultCode);
    }

    public static Exception ThrowBadRequest(string message, int resultCode)
    {
        throw new BadRequestException(HttpStatusCode.BadRequest, message, resultCode);
    }

    public static Exception Throw500Error(string message, int resultCode)
    {
        throw new InternalServerErrorException(HttpStatusCode.BadRequest, message, resultCode);
    }
	
	...
}
반응형