Welcome to Stack Overflow.
There is something odd going on. If you go here and change the code to this
<picture>
<source media="(min-width: 6000px)" srcset="img_pink_flowers.jpg">
<source media="(min-width: 6000px)" srcset="img_white_flower.jpg">
<img src="img_orage_flowers.jpg" alt="Flowers" style="width:auto;" onerror="console.log(this.src); this.src = 'img_orange_flowers.jpg'; console.log(this.src);">
</picture>
You will see that the picture element bypasses the sources, as the min-width filters them out, errors out on the typo in the img src and corrects its own source. You can see it happening in the console.
Same thing works with srcset
<picture>
<source media="(min-width: 6000px)" srcset="img_pink_flowers.jpg">
<source media="(min-width: 6000px)" srcset="img_white_flower.jpg">
<img src="img_orage_flowers.jpg" alt="Flowers" style="width:auto;" onerror="console.log(this.srcset); this.srcset = 'img_orange_flowers.jpg'; console.log(this.srcset);">
</picture>
So maybe I'm not understanding but the onerror function for the image seems to be working OK.
If you are actually looking for an onerror handler for the picture element, so that you can handle the case where the picture element is given a non-existent image in the srcset of the first source element, then I believe there's no such handler.