Control flow graph plays an important role in software static testing based on defect patterns, while the impact of runtime exception on control flow graph is not negligible. After the runtime exception control flow graph and exception pattern Finite State Machine were defined, an algorithm for fault detection in the presence of runtime exception was proposed. Basing on FSM for exception pattern, the feasible states and its condition are iterated along the node of control flow graph, while the abnormal status, which can throw a runtime exception, will be added into control flow graph as an edge automatically. Thus the static testing method can detect more defects by the control flow graph constructed dynamically. The experiment results show that, the static testing method in the presence of runtime exception can decrease defect false negative significantly.