updata throw()