diff --git a/src/command_lint.cc b/src/command_lint.cc index 56390a23..003dc3f8 100644 --- a/src/command_lint.cc +++ b/src/command_lint.cc @@ -276,7 +276,7 @@ auto sourcemeta::jsonschema::lint(const sourcemeta::core::Options &options) std::cerr << "\n"; } - throw FileError< + throw FileError< sourcemeta::blaze::CompilerReferenceTargetNotSchemaError>( entry.first, error); } catch (const sourcemeta::core::SchemaKeywordError &error) { @@ -380,7 +380,7 @@ auto sourcemeta::jsonschema::lint(const sourcemeta::core::Options &options) } catch ( const sourcemeta::blaze::CompilerReferenceTargetNotSchemaError &error) { - throw FileError< + throw FileError< sourcemeta::blaze::CompilerReferenceTargetNotSchemaError>( entry.first, error); } catch (const sourcemeta::core::SchemaKeywordError &error) { diff --git a/src/command_validate.cc b/src/command_validate.cc index 66001bb7..9e50c89d 100644 --- a/src/command_validate.cc +++ b/src/command_validate.cc @@ -229,6 +229,7 @@ auto sourcemeta::jsonschema::validate(const sourcemeta::core::Options &options) throw FileError(schema_path, error.what()); } + const auto schema_template{[&]() { try { return get_schema_template(bundled, custom_resolver, frame, fast_mode, diff --git a/src/error.h b/src/error.h index e1c8d685..ecb41a36 100644 --- a/src/error.h +++ b/src/error.h @@ -462,7 +462,7 @@ inline auto try_catch(const sourcemeta::core::Options &options, &error) { const auto is_json{options.contains("json")}; print_exception(is_json, error); - return EXIT_FAILURE; + return 3; } catch (const FileError &error) { const auto is_json{options.contains("json")}; print_exception(is_json, error); @@ -476,7 +476,7 @@ inline auto try_catch(const sourcemeta::core::Options &options, } } - return EXIT_FAILURE; + return 3; } catch ( const FileError &error) { const auto is_json{options.contains("json")}; @@ -491,7 +491,7 @@ inline auto try_catch(const sourcemeta::core::Options &options, "`--default-dialect/-d`\n"; } - return EXIT_FAILURE; + return 3; } catch (const FileError &error) { const auto is_json{options.contains("json")}; print_exception(is_json, error);