Efficient and precise modeling of exceptions for the analysis of Java programs