Programming languages such as Java and C++ provide exception-handling constructs to handle exception conditions. Applications are expected to handle these exception conditions and take necessary recovery actions such as releasing opened database connections. However, exceptionhandling rules that describe these necessary recovery actions are often not available in practice. To address this issue, we develop a novel approach that mines exceptionhandling rules as sequence association rules of the form “(FC1 c ...FCn c ) ∧ FCa ⇒ (FC1 e ...FCm e )”. This rule describes that function call FCa should be followed by a sequence of function calls (FC1 e ...FCm e ) when FCa is preceded by a sequence of function calls (FC1 c ...FCn c ). Such form of rules is required to characterize common exceptionhandling rules. We show the usefulness of these mined rules by applying them on five real-world applications (including 285 KLOC) to detect violations in our evaluation. Our empirical results ...