1. A computer-implemented method for handling an unexpected error associated with an application, the method comprising: sending, from a client running a client application in an application session, an instruction to an application server hosting a server application associated with the client application; detecting an unexpected application error in response to the sent instruction; automatically requesting, from the application server, an updated version of application code for the client application in response to the detected unexpected application error; receiving the updated version of application code; identifying the smallest discrete module of the updated version of application code that can be updated to address the unexpected application error; updating the client application in the application session in which the instruction to the application server was sent from the client running the client application using the smallest discrete module of the updated version of application code, wherein access to the client application during the application session is uninterrupted by the updating the client application; and when updating the client application with the smallest discrete module of the updated version of application code did not cure the unexpected application error, selecting a next, larger segment of application code to update the client application, and continuing segment selection until the right size segment of application code is selected to address the unexpected application error.