Concepts
Partial results and errors
Understand when Eazip keeps successful files, fails the whole job, or returns a recoverable error.
By default, one failed source does not discard the rest of a Local ZIP. Eazip
skips that source and returns a partial result containing the files it could
read.
What does a partial result contain?
const result = await createZip({ files: urls });
if (result.status === 'partial') {
console.log(result.skippedCount);
console.log(result.errors);
}
result.download();statusiscompletedorpartialfor a usable result.skippedCountreports how many inputs were omitted.errorsdescribes individual Local failures when that detail is available.- The successful files remain downloadable.
When does the whole job fail?
A job fails instead of returning a partial result when:
failOnUrlError: trueasks Eazip to stop on the first source failure;- every source fails and the ZIP would be empty;
- the input is invalid;
- the job is aborted; or
- a fatal Local or Cloud error prevents a usable result.
Use fail-fast behavior only when an incomplete archive has no value to the reader.
What differs between Local and Cloud?
| Local | Cloud | |
|---|---|---|
| Per-file errors | Available in result.errors | Not currently returned by the service |
| Skipped count | Derived from the error list | Reported by the Cloud job |
| Partial download | Yes | Yes, when the service produces usable output |
How should the UI respond?
- Download the usable ZIP and show how many files were skipped.
- Offer retry when the failure is likely temporary.
- Show a blocking error only when there is no usable output.
- Log technical details separately from the message shown to the reader.
React applications get this behavior through <EazipTray />. Custom interfaces
can branch on result.status or a ZipJob snapshot.
See the Core Reference for exact error classes and progress, cancel, and retry for UI code.