write doesn't return error for out of paper


I expected that if I attempted to write to a printer without paper in it (e.g. it just ran out of paper), that I would get an error from the write command.
In the below code, no error is logged.  If I set a breakpoint, I am able to verify that writeError is nil.
      let zebraConnection = MfiBtPrinterConnection(serialNumber: serialNumber)
      DispatchQueue.global(qos: .utility).async(execute: {
        if (zebraConnection?.open())! {
          var writeError: NSError?
          zebraConnection?.write(printReceipt.data(using: String.Encoding.utf8), error: &writeError)
          if writeError != nil{
            DDLogError("Print to zebra errored with error: \(writeError?.localizedDescription)")
iMZ220 with firmware V73.20.01Z
link-OS v1.4.957 for iOS
What is wrong with my approach?