C ++의 경우 Aspose.Tasks 로 예외를 처리합니다
Contents
[
Hide
Show
]Microsoft 프로젝트 파일로 작업하는 동안 예외 처리
때로는 고객이 지원되지 않는 기능 및 기타 문제로 인해 프로젝트를로드 할 수 없으며 지원 포럼에서 분석을 위해 프로젝트를 공유하고 싶지 않습니다.
taskSreadingException 클래스에 의해 노출 된 로그 텍스트 속성은 그러한 경우를 처리하는 데 사용됩니다. 이 속성을 사용하여 프로젝트의 문제가있는 섹션 (예 : 문제가있는 작업, 리소스, 리소스 할당 등)을 식별 할 수 있습니다.
문제를 일으키는 섹션을 식별 한 후에는 문제를 해결하거나 해당 데이터를 별도의 프로젝트에 복사하고 문제를 해결하기 위해 당사와 공유하려고 시도 할 수 있습니다.
다음 코드 예제는 예외의 원인을 식별하는 데 사용됩니다.
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