Después de escribir código que se puede reducir a lo siguiente:Justificación de OverflowException arrojado con tamaño de matriz negativo?
var size=-1;
var arr=new byte[size];
Me sorprendió que se lanzó una OverflowException. La documentación para OverflowException Estado:
no pude ver cómo proporcionar un tamaño negativo para la longitud de la matriz y encaja en la descripción dada para esta excepción, por lo que profundizó un poco más y encontraron que este es el comportamiento especificado:
Me pregunto por qué se eligió OverflowException. Es bastante engañoso si me preguntas. Me costó al menos 5 minutos de investigación (sin contar mis meditaciones aquí). ¿Alguien puede arrojar alguna luz sobre esta (peculiar) decisión de diseño?
Parece razonable arrojarme esta excepción. – cjk
¿Cómo es un desbordamiento de cualquier descripción? – spender