Обробка винятків з Aspose.Tasks для C ++
Contents
[
Hide
Show
]Поводження з винятками під час роботи з файлами проекту Microsoft
Іноді клієнти не в змозі завантажити свої проекти через непідтримувані функції та інші проблеми та не хочуть ділитися своїми проектами для аналізу на наших форумах підтримки.
Властивість 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