en regardant du code, je suis tombé sur:
throw /*-->*/new std::exception ("//...
et j'ai toujours pensé que vous n'avez pas besoin / que vous ne devriez pas utiliser newici.
Quelle est la bonne manière, les deux sont-ils OK, si oui, y a-t-il une différence?
BTW d'après ce que je peux voir en "grepping" avec PowerShell, les bibliothèques boost ne l'utilisent jamais throw new.
PS aussi j'ai trouvé du code CLI qui utilise throw gcnew. Est-ce que ça va?
System::Exceptionest généralement une référence à un objet managé sur le tas de récupération de place. J'ai toujours jeté gcnewet attrapé avec System::Exception ^. Bien sûr, j'utilise également finallytout le temps en C ++ / CLI, bien que je ne me mélange pas souvent avec des exceptions C ++ dans le même trybloc, je ne sais pas pourquoi.
throw gcnewserait utile par exemple. si vous voulez que le code managé intercepte votre exception. Quelqu'un peut-il me corriger là-dessus?