Error and Error File Id Parameter in Batch Object in Batch API

I have to perform error handling while calling the batch api . Following is an example of a batch Object :
A batch object represents the status of a batch . Following is an example :

{
  "id": "batch_abc123",
  "object": "batch",
  "endpoint": "/v1/chat/completions",
  "errors": null,
  "input_file_id": "file-abc123",
  "completion_window": "24h",
  "status": "validating",
  "output_file_id": null,
  "error_file_id": null,
  "created_at": 1714508499,
  "in_progress_at": null,
  "expires_at": 1714536634,
  "completed_at": null,
  "failed_at": null,
  "expired_at": null,
  "request_counts": {
    "total": 0,
    "completed": 0,
    "failed": 0
  },
  "metadata": null
}

I understand that error file id is not null when the batch is completed/expired and some of the requests in the batch gave error while executing . In what all other scenarios can the error file id be non - null .
Also , what does the errors parameter mean and when is it non - null ?