Обработка исключений с Aspose.Tasks для C ++
Обработка исключений во время работы с файлами проекта Microsoft
Иногда клиенты Aspose не могут загружать свои проекты из -за неподдерживаемых функций и других проблем и не хотят делиться своими проектами для анализа на наших форумах поддержки](1).
Свойство LogText, обнаруженное классом TaskReadingException, используется для борьбы с такими случаями. Вы можете использовать это свойство для определения проблемного раздела проекта, например, проблемной задачи, ресурсов, назначения ресурсов и т. Д.
После определения раздела, который вызывает проблему, вы можете попытаться решить проблему на своем конце или скопировать эти данные в отдельный проект и поделиться с нами, чтобы решить проблему.
Следующий пример кода используется для определения причины исключения.
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