Warum können Sie mit C # 'null' werfen?

Müssen Sie beim Schreiben eines besonders komplexen Codes für die Ausnahmebehandlung nicht sicherstellen, dass Ihr Ausnahmeobjekt nicht null ist? Und ich sagte natürlich nicht, aber dann entschied ich mich, es zu versuchen. Anscheinend können Sie null werfen, aber es ist immer noch irgendwo eine Ausnahme geworden.

Warum ist das erlaubt?

throw null;

Glücklicherweise ist 'ex' in diesem Snippet nicht null, aber könnte es jemals sein?

try
{
  throw null;
}
catch (Exception ex)
{
  //can ex ever be null?

  //thankfully, it isn't null, but is
  //ex is System.NullReferenceException
}

Antworten auf die Frage(7)

Ihre Antwort auf die Frage