use try- versions of Promise completion to prevent exceptions