1. A method for providing security on a client device, the method being performed by one or more processors and comprising: initializing an exception vector table, the exception vector table including one or more vector table entries that each references a corresponding event handling routine that is used to process a corresponding exception event, wherein at least one vector table entry causes a code authentication process to be executed before a corresponding event handling routine is executed; in response to detecting an exception event associated with at least one vector table entry, executing the code authentication process to authenticate a portion of executable code stored in a memory resource, the code authentication process determining whether the portion of executable code is authorized; and in response to the code authentication process determining that the portion of executable code is authorized, executing an event handling routine corresponding to the at least one vector table entry.