error(err, ...args) {
		if (err.code === 0) {
			toast(err);
			return;
		}

		let hide = null;
		const onhide = () => {
			if (hide) hide();
		};

		const msg = this.errorMessage(err, ...args);
		alert(strings.error, msg, onhide);

		return new Promise((resolve) => {
			hide = resolve;
		});
	}
@param {Error} err
@param  {...string} args
@returns {PromiseLike<void>}