BPMN Error (interrupting) and Escalation (interrupting and non-interrupting) Events can be used in the PROCEED Engine. Throwing this events is possible from a Script and User Task, or from within a Subprocess. Catching is only possible with a boundary event.
The following shows a BPMN diagram with a Script Task having two catching, interrupting error events and two catching escalation events.

If you create this diagram in PROCEED’s Management System, the following elements/attributes are automatically added for execution:
name attribute for the boundaryEvent, an error or escalation element are added with a unique id on the root level next to process
name and errorCode/escalationCode attributes of error or escalation are set to the same value of the name attribute from the boundaryEvent by defaulterrorRef or escalationRef is linking the boundaryEvent with the respective error/escalation elementname attribute is specified on the boundaryEvent, no error or escalation element is automatically created
<bpmn:error id="Error_0p5lm2q" name="Problem_1" errorCode="Problem_1" />
<bpmn:escalation id="Escalation_07t55lw" name="Escal No 1" escalationCode="Escal No 1" />
<bpmn:process id="Process_1u7agcv" isExecutable="true">
<bpmn:scriptTask id="Activity_0re3sgy" name="Script with errors and escalations" />
<bpmn:boundaryEvent id="Event_0dmzh52" name="Problem_1" attachedToRef="Activity_0re3sgy">
<bpmn:outgoing>Flow_1wosgix</bpmn:outgoing>
<bpmn:errorEventDefinition id="ErrorEventDefinition_062kbu7" errorRef="Error_0p5lm2q" />
</bpmn:boundaryEvent>
<bpmn:boundaryEvent id="Event_1795ba4" attachedToRef="Activity_0re3sgy">
<bpmn:outgoing>Flow_0w2ip3t</bpmn:outgoing>
<bpmn:errorEventDefinition id="ErrorEventDefinition_15vocsh" />
</bpmn:boundaryEvent>
<bpmn:boundaryEvent id="Event_0j6ky2q" name="Escal No 1" cancelActivity="false" attachedToRef="Activity_0re3sgy">
<bpmn:outgoing>Flow_1tgumwe</bpmn:outgoing>
<bpmn:escalationEventDefinition id="EscalationEventDefinition_0xpf778" escalationRef="Escalation_07t55lw" />
</bpmn:boundaryEvent>
<bpmn:boundaryEvent id="Event_0htafdc" attachedToRef="Activity_0re3sgy">
<bpmn:outgoing>Flow_13j3ojn</bpmn:outgoing>
<bpmn:escalationEventDefinition id="EscalationEventDefinition_0kx2mnk" />
</bpmn:boundaryEvent>
<bpmn:endEvent id="Event_1vpjmsf">
<bpmn:incoming>Flow_13j3ojn</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_13j3ojn" sourceRef="Event_0htafdc" targetRef="Event_1vpjmsf" />
...
</bpmn:process>

For throwing escalation and error events inside a subprocess, nearly the same rules apply as for catching boundary events:
name attribute (visual) is given, then an error or escalation element are added with a unique id on the root level next to process
name and errorCode/escalationCode attributes of error or escalation are set to the same value of the name attribute from the event by defaulterrorRef or escalationRef is linking the event with the respective error/escalation elementname attribute is specified on the event, no error or escalation element is automatically created
name is specified, then a not-named boundary event is triggered<bpmn:escalation id="Escalation_18e9fre" name="Escalation 1" escalationCode="Escalation 1" />
<bpmn:error id="Error_144jikv" name="Error_1" errorCode="Error_1" />
<bpmn:process id="Process_1ojjagv" isExecutable="true">
<bpmn:startEvent id="StartEvent_1"></bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_0nty2qp" sourceRef="StartEvent_1" targetRef="Activity_1w0jsne" />
<bpmn:subProcess id="Activity_1w0jsne">
...
<bpmn:inclusiveGateway id="Gateway_1fdf7ee"></bpmn:inclusiveGateway>
<bpmn:sequenceFlow id="Flow_1no4wsz" sourceRef="Gateway_1fdf7ee" targetRef="Event_1vdoptb" />
<bpmn:sequenceFlow id="Flow_1wx0ki4" sourceRef="Gateway_1fdf7ee" targetRef="Event_1s7o6hh" />
<bpmn:sequenceFlow id="Flow_0urj8zs" sourceRef="Gateway_1fdf7ee" targetRef="Event_0143olm" />
<bpmn:sequenceFlow id="Flow_0urj8zs" sourceRef="Gateway_1fdf7ee" targetRef="Event_0143olm" />
<bpmn:sequenceFlow id="Flow_0ce2ytk" sourceRef="Gateway_1fdf7ee" targetRef="Event_12tqyq3" />
<bpmn:intermediateThrowEvent id="Event_1vdoptb" name="Escalation 1">
<bpmn:escalationEventDefinition id="EscalationEventDefinition_15ep28m" escalationRef="Escalation_18e9fre" />
</bpmn:intermediateThrowEvent>
<bpmn:sequenceFlow id="Flow_0v5hf7j" sourceRef="Event_1vdoptb" targetRef="Event_1d926ax" />
<bpmn:endEvent id="Event_1d926ax"></bpmn:endEvent>
<bpmn:endEvent id="Event_0143olm" name="Error_1">
<bpmn:errorEventDefinition id="ErrorEventDefinition_11syieg" errorRef="Error_144jikv" />
</bpmn:endEvent>
<bpmn:endEvent id="Event_1s7o6hh">
<bpmn:errorEventDefinition id="ErrorEventDefinition_1p0uaqb" />
</bpmn:endEvent>
<bpmn:endEvent id="Event_12tqyq3">
<bpmn:escalationEventDefinition id="EscalationEventDefinition_0cpfe49" />
</bpmn:endEvent>
</bpmn:subProcess>
<bpmn:sequenceFlow id="Flow_0bb4gvw" sourceRef="Activity_1w0jsne" targetRef="Event_1tw963x" />
<bpmn:endEvent id="Event_1tw963x"></bpmn:endEvent>
<bpmn:boundaryEvent id="Event_1b01on6" name="Escalation 1" cancelActivity="false" attachedToRef="Activity_1w0jsne">
<bpmn:escalationEventDefinition id="EscalationEventDefinition_0kywvic" />
</bpmn:boundaryEvent>
<bpmn:boundaryEvent id="Event_1s78a23" attachedToRef="Activity_1w0jsne">
<bpmn:escalationEventDefinition id="EscalationEventDefinition_1nqgx43" />
</bpmn:boundaryEvent>
<bpmn:boundaryEvent id="Event_0vjr6qb" name="Error_1" attachedToRef="Activity_1w0jsne">
<bpmn:errorEventDefinition id="ErrorEventDefinition_0uo6nxr" errorRef="Error_144jikv" />
</bpmn:boundaryEvent>
<bpmn:boundaryEvent id="Event_0qfyaud" attachedToRef="Activity_1w0jsne">
<bpmn:errorEventDefinition id="ErrorEventDefinition_1mg9f0w" />
</bpmn:boundaryEvent>
...
</bpmn:process>
error/escalation element without a value for errorCode/escalationCode