| **Navigation:**  [[abc library reference.htm|ABC Library Reference]] > ErrorClass > ErrorClass Overview >====== ErrorClass Conceptual Example ====== | [[errorclass multi-language capability.htm|{{btn_prev_n.gif|Previous page}}]][[abc library reference.htm|{{btn_home_n.gif|Return to chapter overview}}]][[errorclass properties.htm|{{btn_next_n.gif|Next page}}]] | | || The following example shows a typical sequence of statements to declare, instantiate, initialize, use, and terminate an ErrorClass object. **     PROGRAM** **     INCLUDE('ABERROR.INC')            !include ErrorClass declarations** **AppErrors GROUP                        !declare app specific errors** **Number USHORT(2)                       !number of errors in this group** **      USHORT(Msg:DuplicateKey)         !first error ID** **      BYTE(Level:Notify)               !severity level** **      PSTRING('Duplicate Key')         !window title** **      PSTRING('%File key is invalid.') !message text with macro** **      USHORT(Msg:FieldOutOfRange)      !second error ID** **      BYTE(Level:Notify)               !severity level** **      PSTRING('Range Error')           !window title** **      PSTRING('%Field must be between %Message.') !message text** **     END** **GlobalErrors ErrorClass                !declare GlobalErrors object** ** CODE** ** GlobalErrors.Init                     !initialize (add default errors)** ** GlobalErrors.AddErrors(AppErrors)     !add app specific errors** ** GlobalErrors.SetFatality(Msg:DuplicateKey,Level:Fatal)!modify severity of an error** ** !** ** !program code** ** !** ** !user attempts to enter invalid month value** ** GlobalErrors.SetField('Month')        !set %Field for macro expansion** ** GlobalErrors.ThrowMessage(Msg:FieldOutOfRange,'1 and 12') !pass error to errormanager** ** !** ** !user attempts to insert a duplicate key...** ** GlobalErrors.SetFile('Customer')      !set %File for macro expansion** ** GlobalErrors.Throw(Msg:DuplicateKey)  !pass error to errormanager** ** !program code** ** !** ** GlobalErrors.Kill                     !shut down GlobalErrors object**