Comment attraper les exceptions d'E/S sur Windows Phone 8, C++/cx?
wp8 Gestion des exceptions d'E/S
EDIT: Voici un exemple complet
Vérifier si un fichier "hello.txt" existe:
StorageFile^ Testme(String^ fileName)
{
StorageFolder^ item = ApplicationData::Current->LocalFolder;
try
{
task<StorageFile^> getFileTask(item->GetFileAsync("hello.txt"));
getFileTask.then([](StorageFile^ storageFile)
{
return storageFile;
});
}
catch (Exception^ ex)
{
OutputDebugString(L"Caught the exception");
}
return nullptr;
}
Si "hello.txt" exsit, méthode Testme retourne le fichier PTR comme un charme.
Si « hello.txt n'existe pas, non seulement il ne jette pas exception filenotfound, au lieu que je vais écraser cette apparaître dans la fenêtre du débogueur:
exception non gérée à 0x71D49C01 (Msvcr110d.dll) dans MyPhoneApp.exe :. un paramètre non valide a été passé à une fonction qui prend en compte des paramètres non valides fatale S'il y a un gestionnaire pour cette exception, le programme peut être en toute sécurité a continué
Quel est le problème et comment pourrais-je vérifier avec élégance si un fichier existe de ou non dans WP8?
J'espère vraiment que quelqu'un répond ... Merci
Pourriez-vous essayer d'intercepter un type général d'exception, c'est-à-dire 'catch (Exception e)' au lieu de nommer explicitement les exceptions? – dumbfingers
Le problème n'est-il pas que l'exception se produit de manière asynchrone et que vous ne vérifiez pas le résultat de votre opération asynchrone? –
1. Plate-forme :: Exception est l'exception la plus générale que j'ai pu trouver. 2. Désolé, j'aurais dû ajouter que je pense que j'ai exclu les problèmes asynchrones. Le code est enveloppé dans un create_task avec un alors. L'exception est levée lorsqu'elle devrait l'être, une fois la tâche terminée. Le problème est que je ne peux pas l'attraper. – Tinkerbell