Considere el siguiente código:¿Dónde manejo las excepciones asincrónicas?
class Foo {
// boring parts omitted
private TcpClient socket;
public void Connect(){
socket.BeginConnect(Host, Port, new AsyncCallback(cbConnect), quux);
}
private void cbConnect(IAsyncResult result){
// blah
}
}
Si socket
se emite una excepción después de BeginConnect
devoluciones y antes cbConnect
es llamado, ¿de dónde pop-up? ¿Está permitido arrojar en segundo plano?
Tenga en cuenta que la Opción # 1 bloqueará el hilo hasta que se complete la acción. También podría llamar al método de forma sincrónica. La opción 2 es el camino a seguir aquí ... – Marc