We show that on a hyperbolic knot $K$ in $S^3$, the distance between any two finite surgery slopes is at most two and consequently there are at most three nontrivial finite surgeries. Moreover in case that $K$ admits three nontrivial finite surgeries, $K$ must be the pretzel knot $P(-2,3,7)$. In case that $K$ admits two noncyclic finite surgeries or two finite surgeries at distance two, the two surgery slopes must be one of ten or seventeen specific pairs respectively. For $D$-type finite surgeries, we improve a finiteness theorem due to Doig by giving an explicit bound on the possible resulting prism manifolds, and also prove that $4m$ and $4m+4$ are characterizing slopes for the torus knot $T(2m+1,2)$ for each $m\geq 1$.