Add a ProgramExcepetion struct to make it clear which one is firing