Gestion des exceptions avec Aspose.Tasks pour C ++
Gestion des exceptions tout en travaillant avec les fichiers du projet Microsoft
Parfois, les clients en Aspose ne sont pas en mesure de charger leurs projets en raison de fonctionnalités non pris en charge et d’autres problèmes et ne veulent pas partager leurs projets pour analyse sur nos forums de support.
La propriété LogText exposée par la classe TasksReadingException est utilisée pour traiter de tels cas. Vous pouvez utiliser cette propriété pour identifier la section problématique du projet, par exemple, une tâche problématique, une ressource, une affectation de ressources, etc.
Après avoir identifié la section qui cause le problème, vous pouvez essayer de résoudre le problème à votre fin ou de copier ces données dans un projet distinct et de partager avec nous pour résoudre le problème.
L’exemple de code suivant est utilisé pour identifier la cause de l’exception.
1System::SharedPtr<Project> project;
2try
3{
4 System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
5 project = System::MakeObject<Project>(dataDir + u"project.mpp");
6}
7catch (TasksReadingException& ex)
8{
9 System::Console::WriteLine(u"Message:");
10 System::Console::WriteLine(ex->get_Message());
11 System::Console::WriteLine(u"Log:");
12 System::Console::WriteLine(ex->get_LogText());
13 if (ex->get_InnerException() != nullptr)
14 {
15 System::Console::WriteLine(u"Inner exception message:");
16 System::Console::WriteLine(ex->get_InnerException()->get_Message());
17 }
18}
19catch (System::Exception& ex)
20{
21 System::Console::WriteLine(ex->get_Message());
22}
23