dunno about this. reject() promise instead of throwing excpetion. Pass exception as parameter.