Many programming languages provides non-local exit. In C language, it is implemented by setjump and longjump functions in its standard library. In Java, a try-catch-finally statement is equipped as non-local exit with control capturing. The try-catch-finally mechanism can be categorized into two parts: global jump and control capturing. The non-local jump has been studied well for a long time by many researchers. On the other hand, control capturing has not yet been researched well enough. In this paper, we propose a lambda calculus with non-local jump and control capturing and its operational semantics based on small-step transition. We provide continuation-passing style translation of the calculus into the usual lambda calculus. The continuation-passing style translation is known as a translation style semantics of a control structure such as a non-local jump or first-class continuation. We extend the continuation passing style translation in order to formalize the control capturing in the framework of a functional programming language paradigm. We develop a type system for the calculus with control capturing and show conformity of the typed version of the CPS translation with the type system of the calculus.