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)")

          }

          zebraConnection?.close()

       }

 

iMZ220 with firmware V73.20.01Z

link-OS v1.4.957 for iOS

 

What is wrong with my approach? 

 

Thanks,

Del