1. A program optimization method for converting program source code written in a programming language into machine language comprising the steps of: analyzing a target program and detecting exception generative instructions, which may generate an exception, and exception generation detection instructions, which branches a process to an exception process when an exception occurrence condition is detected and an exception has occurred; dividing said exception generation detection instructions into first instructions, for the detection of exception occurrence conditions, and second instructions, for branching processes to exception processes when said exception occurrence conditions are detected; and establishing dependencies among program instructions, so that when one of said exception occurrence conditions is detected the process is shifted from a first instruction to a second instruction, and so that when none of said exception occurrence conditions are detected the process is shifted from a first instruction to an exception generative instruction.