Q:

property of Lebesgue measure

Suppose that $E \in \mathcal{M}$, show that for each $\epsilon > 0$ there is a closed set $F$ such that $F \subset E $ and $\lambda(E \setminus F) < \epsilon$, where $\mathcal{M}$ is the collection of Lebesgue measurable sets and $\lambda$ the Lebesgue measure. 
Edit:
When I say I could prove this:
$$E \in \mathcal{M} \quad \Rightarrow \quad \forall \epsilon > 0,\, \exists \mbox{ open set } O \supset E \mbox{ such that } \lambda(O \setminus E) < \epsilon$$
I didn't consider $\lambda(E) = \infty$ in which case $\lambda(O \setminus E) = \lambda(O)  - \lambda(E) = \infty - \infty$ is undefined.  How can I prove it is also true for $E$ with measure infinity? 

A:

The answer of Sam is obscure and I think I've figured out my own. 
Realize that it is easy to show the following by definition of Lebesque outer measure: let $E \in \mathcal{M}$ and $\epsilon > 0$ be given, then there is an open set $O\supset E$ such that $\lambda(O \setminus E) < \epsilon$. 
Now, for this question, since $\mathcal{M}$ is $\sigma$-algebra, $E^c \in \mathcal{M}$, then we can find an open set $O \supset E^c$ and $\lambda(O\setminus E^c) < \epsilon$. The Caratheodory criterion gives $\lambda(O) = \lambda(O \cap E) + \lambda(O \cap E^c)$. And we know $\lambda(E \cap O) = \lambda (E \setminus O^c) ,\lambda(O\cap E^c)= \lambda(E^c)$, combining these we get $\lambda(E \setminus O^c) < \epsilon$, take $F = O^c $and this completes the proof.