Fix Bug 2158 and Bug 2254 by arranging exception handling

No match.