Hi paofu. Your work looks good, except there's a mistake in the first one-sided limit. In each limit, x is approaching -2, so we consider only values of x that are very close to -2. That means x is always less than 0, whether we approach from the left or the right. Therefore, we replace |x| with -x, and the one-sided limits are both the same.
By the way, we cannot cancel x on top and bottom, like you did in the last line. (We cancel only factors, not numbers being added or subtracted.)
We don't need a cancellation to see that (2 + x)/(2 + x) is always 1 (because the numerator and denominator are the same). We never get 0/0 because -2 is not in the function's domain.
?