Is there any way to get "around" the halting problem?
Say that two programs are equivalent if they have the same halting behaviour and output on every input.  The problem for your "finite exceptions" idea is that there are infinitely many programs equivalent to any program you choose.  Given a program&nbsp;$P$, we can always modify it in infinitely many ways without changing its output or halting behaviour: for each natural number&nbsp;$n$, we can write a program that essentially counts to&nbsp;$n$ and then runs&nbsp;$P$.

I suppose the good news is that this means we can decide the halting problem on an infinite class of programs. For example, let $P_n$ be the program for i = 1 to n do [nothing]; halt;: the halting problem is easily decidable on the set of all programs $P_n$.