PL/1 has a detailed system for handling exceptions. which can be asynchronous resulting from I/O errors, hardware-generated such as overflow, or program-generated.