Because PaymentRequest.abort returns a Promise<void>, it shouldn't be specified to throw exceptions. Instead, it should return rejected promises.
Somewhat complicating this is that Safari does throw an exception (even though Firefox and Blink do not). This has an impact on web developers as an eager exception will stop their scripts and a rejected promise will not.
Because
PaymentRequest.abort
returns aPromise<void>
, it shouldn't be specified to throw exceptions. Instead, it should return rejected promises.Somewhat complicating this is that Safari does throw an exception (even though Firefox and Blink do not). This has an impact on web developers as an eager exception will stop their scripts and a rejected promise will not.