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();| Field | Meaning |
|---|---|
status | completed or partial for a usable result. |
skippedCount | How many inputs were omitted. |
errors | Individual Local failures, when that detail is available. |
The successful files stay downloadable either way.
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.
Choose fail-fast 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.
<EazipTray /> gives React applications this behavior already. Custom
interfaces branch on result.status or a ZipJob snapshot.
See the Core Reference for exact error classes and progress, cancel, and retry for UI code.