@Wolfy , you proof is essentially correct, but it has some confusion in terms of notation. Also it need some improvement inthe very last part. I have copied you proof, making the necessary adjustments.
Lusin's Theorem - If $f:[a,b]\rightarrow \mathbb{C}$ is Lebesgue measurable and $\epsilon > 0$, there is a compact set $E\subset [a,b]$ such that $\mu(E^c) < \epsilon$ and $f|E$ is continuous.
Proof - Let $f:[a,b]\rightarrow\mathbb{C}$ be Lebesgue measurable and $\epsilon > 0$.
Since $f$ is finite and $\mu([a,b])<\infty$, there is $K>0$ such that $\mu(\{x \in [a,b] : |f(x)|>K \})< {\epsilon}/{4}$. Let
$$ H= \{x \in [a,b] : |f(x)|>K \}$$
we have that $\mu(H)< {\epsilon}/{4}$ and $f\chi_{H^c}: [a,b] \rightarrow \mathbb{C}$ is in $L^1[a,b]$.
By theorem 2.26 we can build a sequence of continuous functions $\{g_n\}$ such that $$g_n\rightarrow f\chi_{H^c} \ \text{in} \ L^1$$
Then by Corollary 2.32 there is a sub-sequence $\{g_{n_j}\}$ of $\{g_n\}$ such that $g_{n_j}\rightarrow f\chi_{H^c}$ a.e..
Now, by Egoroff's theorem, for any $\epsilon >0$, there exists a set $G\subset [a,b]$, with $\mu(G) < \epsilon/4$ such that $g_{n_j}\rightarrow f\chi_{H^c}$ uniformly on $G^c$.
(Atention: we can apply to Egoroff's theorem to the subsequence $g_{n_j}$, because we have that $g_{n_j}\rightarrow f\chi_{H^c}$ a.e.).
Let $F = H \cup G$. We have then
$$\mu(F) \leqslant \mu(H) +\mu(G)= \epsilon/4 + \epsilon/4= \epsilon/2$$
and, since $F^c= H^c \cap G^c$, we have that $g_{n_j}\rightarrow f$ uniformly on $F^c$.
Now by theorem 1.18, since $\mu([a,b])<\infty$, there is $E$ a compact subset of $[a,b]$, such that $E\subset F^c$ and
$$\mu(F^c)-\epsilon/2 < \mu(E)\leq \mu(F^c)$$
So $F \subset E^c$ and we have
\begin{align*}\mu(E^c) &=\mu(F)+\mu( E^c \setminus F)= \\&= \mu(F)+\mu( E^c \cap F^c)= \\& = \mu(F)+\mu( F^c \setminus E)=\\&=\mu(F)+(\mu( F^c)- \mu(E)) \leq \\ & \leq \frac{\epsilon}{2}+\frac{\epsilon}{2} =\epsilon
\end{align*}
Note that, since $E\subset F^c$ and $g_{n_j}\rightarrow f$ uniformly on $F^c$, we have that $g_{n_j}\rightarrow f$ uniformly on $E$.
Since, for all $j$, $g_{n_j}$ is continuous, we have that $f$ is continuous on $E$, that is $f|_E$ is continuous.
Remark: Here is a detailed proof that "Since $f$ is finite and $\mu([a,b])<\infty$, there is $K>0$ such that $\mu(\{x \in [a,b] : |f(x)|>K \})< {\epsilon}/{4}$"
Proof: For each $K\in\mathbb{N}$, let $A_K=\{x \in [a,b] : |f(x)|>K \}$. So $\{A_K\}_{K\in\mathbb{N}}$ is a non-increasing sequence of mensurable set. Since $f$ is finite, $\bigcap_{K\in\mathbb{N}}A_K=\emptyset$. Then, since $\mu([a,b])<\infty$, we have that
$$\lim_{K \to \infty}\mu(A_K) = \mu \left (\bigcap_{K\in\mathbb{N}}A_K\right)=\mu(\emptyset)=0$$
So, given any $\epsilon>0$, there is $K>0$ such that $\mu(\{x \in [a,b] : |f(x)|>K \})< {\epsilon}/{4}$
Best Answer
@Wolfy, The idea in your attempt proof is correct but it fails basically because when we take a subsequence $\{f_{n_j}\}$ of $\{f_n\}$, we have
$$\liminf \int f_n \leq \liminf \int f_{n_j}$$
The "trick" is start by peeking a subsequence $\{f_{n_i}\}_i$ such that $$\int f_{n_i} \to \liminf_{n \to \infty} \int f_n $$ in other words: $$\lim_{i \to \infty}\int f_{n_i} = \liminf_{n \to \infty} \int f_n $$
Here is the proof in details.
Proof
Since $\{ \int f_n \}_n$ is just a sequence of complex number, there is subsequence $\{f_{n_i}\}_i$ such that $$\int f_{n_i} \to \liminf_{n \to \infty} \int f_n $$
Since $f_n\rightarrow f$ in measure, we have that $f_{n_i}\rightarrow f$ in measure. So there is a subsequence $\{f_{n_{i_j}}\}_j$ of $\{f_{n_i}\}_i$ such that $$f_{n_{i_j}} \to f \textrm{ a.e.} \tag{1} $$
Since $\{f_{n_{i_j}}\}_j$ is a subsequence of $\{f_{n_i}\}_i$, we also have $$\int f_{n_{i_j}} \to \liminf_{n \to \infty} \int f_n \tag{2}$$
So we have from $(1)$ and $(2)$, using Fatou's lemma,
$$ \int f = \int \lim_{j \to \infty } f_{n_{i_j}} = \int \liminf_{j \to \infty } f_{n_{i_j}}\leq \liminf_{j \to \infty } \int f_{n_{i_j}}= \lim_{j \to \infty } \int f_{n_{i_j}}= \liminf_{n \to \infty} \int f_n$$