diff --git a/frameworks/js/napi/js_child_process_manager/js_child_process_manager.cpp b/frameworks/js/napi/js_child_process_manager/js_child_process_manager.cpp index bf9668bb92..d6f6a55562 100644 --- a/frameworks/js/napi/js_child_process_manager/js_child_process_manager.cpp +++ b/frameworks/js/napi/js_child_process_manager/js_child_process_manager.cpp @@ -72,18 +72,20 @@ private: int32_t startMode; if (!ConvertFromJsValue(env, argv[0], srcEntry)) { TAG_LOGE(AAFwkTag::PROCESSMGR, "Parse param srcEntry failed"); - ThrowError(env, AbilityErrorCode::ERROR_CODE_INVALID_PARAM); + ThrowInvalidParamError(env, "Parse param srcEntry failed, must be a valid string."); return CreateJsUndefined(env); } if (!ConvertFromJsValue(env, argv[1], startMode)) { TAG_LOGE(AAFwkTag::PROCESSMGR, "Parse param startMode failed"); - ThrowError(env, AbilityErrorCode::ERROR_CODE_INVALID_PARAM); + ThrowInvalidParamError(env, + "Unsupported startMode, must be StartMode.SELF_FORK or StartMode.APP_SPAWN_FORK."); return CreateJsUndefined(env); } TAG_LOGD(AAFwkTag::PROCESSMGR, "StartMode: %{public}d", startMode); if (startMode != MODE_SELF_FORK && startMode != MODE_APP_SPAWN_FORK) { TAG_LOGE(AAFwkTag::PROCESSMGR, "Not supported StartMode"); - ThrowError(env, AbilityErrorCode::ERROR_CODE_INVALID_PARAM); + ThrowInvalidParamError(env, + "Unsupported startMode, must be StartMode.SELF_FORK or StartMode.APP_SPAWN_FORK."); return CreateJsUndefined(env); } NapiAsyncTask::CompleteCallback complete = [srcEntry, startMode](napi_env env, NapiAsyncTask &task, @@ -113,7 +115,8 @@ private: } default: { TAG_LOGE(AAFwkTag::PROCESSMGR, "Not supported StartMode"); - task.Reject(env, CreateJsError(env, AbilityErrorCode::ERROR_CODE_INVALID_PARAM)); + task.Reject(env, CreateInvalidParamJsError(env, + "Unsupported startMode,must be StartMode.SELF_FORK or StartMode.APP_SPAWN_FORK.")); return; } } diff --git a/frameworks/native/runtime/js_error_utils.cpp b/frameworks/native/runtime/js_error_utils.cpp index 62441f9155..32be7a3044 100755 --- a/frameworks/native/runtime/js_error_utils.cpp +++ b/frameworks/native/runtime/js_error_utils.cpp @@ -64,6 +64,11 @@ void ThrowNoPermissionError(napi_env env, const std::string& permission) GetNoPermissionErrorMsg(permission))); } +void ThrowInvalidParamError(napi_env env, const std::string &message) +{ + napi_throw(env, CreateInvalidParamJsError(env, message)); +} + void ThrowErrorByNativeErr(napi_env env, int32_t err) { napi_throw(env, CreateJsErrorByNativeErr(env, err)); @@ -74,6 +79,11 @@ napi_value CreateJsError(napi_env env, const AbilityErrorCode& err) return CreateJsError(env, static_cast(err), GetErrorMsg(err)); } +napi_value CreateInvalidParamJsError(napi_env env, const std::string &message) +{ + return CreateJsError(env, static_cast(AbilityErrorCode::ERROR_CODE_INVALID_PARAM), message); +} + napi_value CreateNoPermissionError(napi_env env, const std::string& permission) { return CreateJsError(env, diff --git a/interfaces/inner_api/runtime/include/js_error_utils.h b/interfaces/inner_api/runtime/include/js_error_utils.h index 00330632ec..9388851313 100755 --- a/interfaces/inner_api/runtime/include/js_error_utils.h +++ b/interfaces/inner_api/runtime/include/js_error_utils.h @@ -28,9 +28,11 @@ void ThrowInvaildCallerError(napi_env env); void ThrowTooFewParametersError(napi_env env); void ThrowInvalidNumParametersError(napi_env env); void ThrowNoPermissionError(napi_env env, const std::string& permission); +void ThrowInvalidParamError(napi_env env, const std::string &message); void ThrowErrorByNativeErr(napi_env env, int32_t err); napi_value CreateJsError(napi_env env, const AbilityErrorCode& err); +napi_value CreateInvalidParamJsError(napi_env env, const std::string &message); napi_value CreateNoPermissionError(napi_env env, const std::string& permission); napi_value CreateJsErrorByNativeErr(napi_env env, int32_t err, const std::string& permission = ""); } // namespace AbilityRuntime