add socket error handler