@functions_framework.httpdefhello_error_1(request):# This WILL be reported to Error Reporting,# and WILL NOT show up in logs or# terminate the function.fromgoogle.cloudimporterror_reportingclient=error_reporting.Client()try:raiseRuntimeError("I failed you")exceptRuntimeError:client.report_exception()# This WILL be reported to Error Reporting,# and WILL terminate the functionraiseRuntimeError("I failed you")@functions_framework.httpdefhello_error_2(request):# These errors WILL NOT be reported to Error# Reporting, but will show up in logs.importloggingimportsysprint(RuntimeError("I failed you (print to stdout)"))logging.warning(RuntimeError("I failed you (logging.warning)"))logging.error(RuntimeError("I failed you (logging.error)"))sys.stderr.write("I failed you (sys.stderr.write)\n")# This is considered a successful execution and WILL NOT be reported# to Error Reporting, but the status code (500) WILL be logged.fromflaskimportabortreturnabort(500)
} catch (err) {
// Attach an error object as the second argument
functions.logger.error(
"Unable to read quote from Firestore, sending default instead",
err
);
}
[null,null,["最后更新时间 (UTC):2025-08-22。"],[],[],null,["\u003cbr /\u003e\n\n2nd gen 1st gen \n\n\u003cbr /\u003e\n\nAutomatically reporting errors\n\nYou can emit an error from a function to\n[Error Reporting](https://cloud.google.com/error-reporting/docs) as shown below: \n\nNode.js \n\n // These WILL be reported to Error Reporting\n throw new Error('I failed you'); // Will cause a cold start if not caught \n https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/ba38c711d349f7ae5810cc57ff4512ef98a813a2/functions/helloworld/helloError/index.js#L29-L30\n\nPython \n\n @functions_framework.http\n def hello_error_1(request):\n # This WILL be reported to Error Reporting,\n # and WILL NOT show up in logs or\n # terminate the function.\n from google.cloud import error_reporting\n\n client = error_reporting.Client()\n\n try:\n raise RuntimeError(\"I failed you\")\n except RuntimeError:\n client.report_exception()\n\n # This WILL be reported to Error Reporting,\n # and WILL terminate the function\n raise RuntimeError(\"I failed you\")\n\n\n @functions_framework.http\n def hello_error_2(request):\n # These errors WILL NOT be reported to Error\n # Reporting, but will show up in logs.\n import logging\n import sys\n\n print(RuntimeError(\"I failed you (print to stdout)\"))\n logging.warning(RuntimeError(\"I failed you (logging.warning)\"))\n logging.error(RuntimeError(\"I failed you (logging.error)\"))\n sys.stderr.write(\"I failed you (sys.stderr.write)\\n\")\n\n # This is considered a successful execution and WILL NOT be reported\n # to Error Reporting, but the status code (500) WILL be logged.\n from flask import abort\n\n return abort(500)\n\n https://github.com/GoogleCloudPlatform/python-docs-samples/blob/cd8c39df50ab28582ae8bdc58fc96131806ca79f/functions/helloworld/main.py#L231-L249\n\nIf you would like more fine-grained error reporting, you can use the [Error Reporting client\nlibraries](https://cloud.google.com/error-reporting/docs/reference/libraries).\n\nYou can view the reported errors in [Error Reporting](https://console.cloud.google.com/errors)\nin the Google Cloud console. You can also see the errors reported from a\nparticular function when you select it from the [list of functions](https://console.cloud.google.com/functions) in the Google Cloud console.\n\nUncaught exceptions produced by your function will appear in Error Reporting.\nNote that some types of uncaught exceptions (such as those thrown\nasynchronously) will cause a [cold\nstart](https://cloud.google.com/functions/docs/bestpractices/tips) to occur upon\na future function invocation. This increases the amount of time your function\nwill take to run.\n\nManually reporting errors\n\nSending to Cloud Logging\n\nThe `error` function from the Cloud Functions\n[logger](https://firebase.google.com/docs/reference/functions/firebase-functions.logger)\nSDK will report errors to both Cloud Logging and [Error Reporting](https://cloud.google.com/error-reporting/docs). To include more context from the error as [structured data](https://cloud.google.com/logging/docs/structured-logging), pass an error object as the second argument: \n\n } catch (err) {\n // Attach an error object as the second argument\n functions.logger.error(\n \"Unable to read quote from Firestore, sending default instead\",\n err\n );\n }"]]