l'application explose sur une ligne à l'intérieur d'un bloc try-catch. N'importe quelle idée pourquoi cela se produirait? Cela ne devrait-il pas échouer silencieusement?
Pourquoi pensez-vous qu'une exception ne peut pas se produire dans un essai/catch? Tout le but du bloc try.catch est de définir comment vous comptez gérer les situations exceptionnelles. S'il n'y a pas de bloc catch correspondant au type d'exception levée, l'exception se propagera jusqu'à ce que du code l'attrape ou jusqu'à ce qu'il soit levé comme non traité.
Il est bien sûr possible d'utiliser Catch ex as Exception
comme un bloc pour capturer toutes les exceptions et les avaler, mais c'est rarement une bonne idée.
Tant que NullReferenceException
va, vous ne voulez presque jamais les attraper et les manipuler (presque jamais). Ils sont généralement une indication qu'il existe un bug quelque part dans le code où la logique ne teste pas une référence pour null
avant d'accéder à des méthodes ou propriétés. En fait, il est probable que la variable _MemoryStream
soit elle-même le coupable - si elle est nulle, l'invocation d'un appel déclencherait cette exception.
Non seulement ce n'est pas une bonne pratique, mais c'est presque toujours un bug. –