It avoid of wrapping start exception in another start exception:

        } catch(StartException e){
            throw e;
        } catch (Exception e) {
            throw new StartException(e);
        }