haorenhui
2023-10-30 6d6cc10d9e8e242661da7fd655dec155a09d676c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Quintiq file version 2.0
#parent: #root
StaticMethod GetExceptionComponent (LibOpt_Task task) as LibOpt_Component
{
  Description:
  [*
    Try to find the actual component that threw the error.
    
    When an error is thrown with safety mode enabled, we encode the component to log the error at the right component.
  *]
  TextBody:
  [*
    component := task.Component();
    
    component_key := '';
    if( LibOpt_Task::TryGetStoredString( task, LibOpt_Task::RollbackStorage_Component(), component_key ) )
    {
      converter := StringToKey::ISOConverter();
      if( converter.CanConvert( component_key ) )
      {
        component := LibOpt_Component::FindInstance( task.MDSID(), converter.Convert( component_key ) );
      }
    }
    
    return component;
  *]
  InterfaceProperties { Accessibility: 'Module' }
}