diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp index 927f2bf395a15d2712ecf2b93cbdd62e72a8b018..115295c83421d849d7a5793dcc64714d0807faa3 100644 --- a/src/libs/qmljs/qmljscheck.cpp +++ b/src/libs/qmljs/qmljscheck.cpp @@ -371,8 +371,12 @@ protected: virtual bool visit(TryStatement *ast) { State tryBody = check(ast->statement); - State catchBody = check(ast->catchExpression->statement); - State finallyBody = check(ast->finallyExpression->statement); + State catchBody = ReturnOrThrow; + if (ast->catchExpression) + catchBody = check(ast->catchExpression->statement); + State finallyBody = ReachesEnd; + if (ast->finallyExpression) + finallyBody = check(ast->finallyExpression->statement); _state = qMax(qMin(tryBody, catchBody), finallyBody); return false;