Quelle est la différence entre:
catch
{
MessageBox.Show("Error.");
}
et:
catch (Exception ex)
{
MessageBox.Show("Error.");
//we never use ex, so is it better to use catch without arguments?
}
Quelle est la différence entre:
catch
{
MessageBox.Show("Error.");
}
et:
catch (Exception ex)
{
MessageBox.Show("Error.");
//we never use ex, so is it better to use catch without arguments?
}
Je pense qu'ils sont les mêmes. Mais le deuxième cas a déclenché un avertissement du compilateur car vous déclarez une exception que vous n'avez pas utilisée. J'aime bien le premier parce que vous dites explicitement que vous n'utilisez pas l'exception. Il y a aussi un troisième
catch (Exception)
{
//do something
}
si vous souhaitez spécifier le type d'exception mais ne vous souciez pas de l'exception elle-même.
Certaines exceptions ne peuvent pas être catch(Exception)
interceptées.
En dessous de l'exception en mono sur linux, devrait attraper sans paramètre.
Sinon, l'exécution ignorera l'instruction catch(Exception)
System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
Si vous rencontrez ce problème, essayez de supprimer le paramètre de l' catch
, enregistrez les variables de contexte pour connaître la cause de l'erreur.
PS Je ne sais pas comment sur Windows, le programme exécuté dans Windows est normal.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.