This page runs two operations for ProjectA and, if they all work, up to three for ProjectB. Each of ProjectA's operations has about a 30% chance of failing, as do the first two of ProjectB's. If we reach the third ProjectB operation, we force it to fail.

ProjectA and ProjectB have both registered onerror handlers (playing nicely) and both handle errors they see, suppressing the browser's default handling of them by returning true if the error is theirs.

Refresh the page enough that you see both ProjectA an dProjectB fail.