Imagine que tiene un método con la siguiente firma:Guid.Empty resultado en ArgumentException o ArgumentOutOfRangeException
public void DoSomething(Guid id)
Si Guid.Emtpy
representa un valor no válido, el tipo de excepción sería el más apropiado para tirar? ArgumentException o ArgumentOutOfRangeException?
Me estoy inclinando ligeramente hacia ArgumentException, ya que no creo que todos los GUID excepto Guid.Empty es mucho de un rango - es un poco demasiado inclusiva: Sólo hay un miembro excluido.
Sin embargo, de ninguna manera estoy decidido a que este sea el caso, entonces me gustaría saber si alguien puede presentar argumentos para una u otra.
Soy muy consciente de que esto es principalmente una discusión semántica, pero en interés del buen diseño de la API, me gustaría saber si hay casos claros para una u otra opción.
Es casi como si su método necesita algún tipo de guía de buena guía. –
¿Quizás defina su propia ArgumentEmptyException? – yfeldblum
@Justice. No es aconsejable agregar un nuevo tipo de excepción para un escenario en el que nunca desea atraparlo. Mark debería arrojar uno de los tipos de excepción existentes. – Steven