- Вы хотите вручную сообщить о пользовательской ошибке в StackDriver Error Reporting.
- Вы не хотите останавливать сценарий.
Если мое понимание верно, как насчет этого обходного пути? В этом обходном пути он использует метод projects.events.report
в API отчетов об ошибках Stackdriver.
Прежде чем использовать этот пример сценария, выполните следующие действия.
Пример сценария:
try {
thisMayThrowAnError();
} catch(err) {
var projectId = "project-id-#####"; // Please set the project ID of project including your script.
var payload = { // Please modify this for your situation.
message: "Something Failed",
serviceContext: {service: "sample"},
context: {reportLocation: {functionName: "sampleFunctionName"}},
};
var url = "https://clouderrorreporting.googleapis.com/v1beta1/projects/" + projectId + "/events:report";
var params = {
method: "post",
payload: JSON.stringify(payload),
contentType: "application/json",
headers: {Authorization: "Bearer " + ScriptApp.getOAuthToken()},
}
UrlFetchApp.fetch(url, params);
}
Примечание:
- Это простой пример сценария. Поэтому, пожалуйста, измените вашу ситуацию.
- В этом сценарии каждое значение
payload
является примером значений. Поэтому, пожалуйста, измените вашу ситуацию.
- Когда я вызывал этот API, был случай, когда отражение результата запаздывает. Поэтому, если результат не отображается в отчете об ошибках StackDriver после вызова API, подождите немного.
Ссылки:
Из вашего вопроса я понял, что вы используете Google Apps Script. Если вы используете другой язык, пожалуйста, скажите мне. Если этот обходной путь не принес желаемого результата, я прошу прощения.