The mismatch with parallel programming is a reasonable enough argument, but everything else is wordy bullshit. At best he makes the case that exceptions as commonly implemented have rough edges (though he mostly doesn't even manage that); at no point does he make any sort of case that error codes are any better. The unintentional loud failure through exceptions is the wrong thing to do in many conceivable cases, absolutely. Replacing it with the unintentional quiet failure that just keeps churning that typifies code using error codes (and was the whole reason people moved away from them to begin with) is worse in very nearly every case.