Throw dispara a Exception.
O throw faz com que vc chame exceptions que vc cria na hora, ou pre-existentes.
Eh recomendado nao usar throw, pois disparar exceptions sem necessidade pode comprometer a performance do sistema.
A partir do momento que vc dispara uma exception, o metodo chamador eh que recebe esse erro, e nao o método em que foi disparado a exception. Isso faz com que vc possa percorrer exceptions até o nivel mais alto, possibilitando um tratamento unico para exceptions.
Olá amigo, que eu saiba é para discriminar uma Exception(erro do sistema)
Vc usa num bloco
Try{
//código sujeito a falhas
}
//se der erro ele entra aqui e exibe a mensagem definida no throw
Catch (Exception ex)
{
throw new Exception(ex.Message)
}
Nesse caso o throw exibe a mensagem de erro!