This is closely related to a previous question:
In a proof of the completeness of $L^\infty$
The following is a proof of completeness of $L^\infty$ by Rudin in his Real and Complex Analysis:
Here are my questions:
What is the use of $A_k$ in the proof? What would be wrong if one defines $E$ as merely the union of $B_{m,n}$?
It seems to me that if one defines $E$ as just the union of $B_{m,n}$, then $\mu(E)=0$ and the estimate $$ |f_n(x)-f_m(x)|\leq\|f_n-f_m\|_\infty,\quad x\in E^c $$ implies that $\{f_n(x)\}$ is a Cauchy sequence in $\mathbb{R}$ for every $x\in E^c$ thus we can define a function $$ f(x):=\lim_{n\to\infty}f_n(x)\quad x\in E^c.\quad \tag{*} $$ Now let $\epsilon>0$. Since $\{f_n\}$ is Cauchy in $L^\infty$, there exists $N>0$ such that for all $n,m\geq N$, $$ |f_n(x)-f_m(x)|\leq \|f_n-f_m\|_\infty\leq\epsilon\quad \textrm{for all }x\in E^c\tag{**} $$ Now, let $m\to\infty$ in $(**)$ and applying $(*)$, one has $$ |f_n(x)-f(x)|\leq\epsilon $$ for all $x\in E^c$ and thus $$\|f_n-f\|_\infty\leq \epsilon$$ which implies $\|f\|_\infty<\infty$ and $f_n\to f$ in $L^\infty$.
What could be wrong in the reasoning above?

Now that I've actually read it carefully, let me try again. He throws away those $A_k$ in order to be able to say that $f$ is bounded on $E^c$.
Your proof appears correct as well. My guess is that the main reason for using those $A_k$ was to shorten the proof, because this way he didn't have to use any epsilons at all.
Your $f$ may not be bounded on your $E^c$, unlike Rudin's $f$ on his $E^c$. Of course, in the end it won't be a problem, because the two versions of $f$ only differ on a set of measure zero (at most on the union of those $A_k$). But you have to show that $\|f\|_{\infty}<\infty$ , which you did, while in Rudin's proof it's automatic because $f$ is bounded outside of a set of measure zero.