Catturare gli errori
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Implementa un gestore di eccezioni personalizzato in base al codice di stato HTTP restituito da una richiesta GET. Il flusso di lavoro rileva una potenziale eccezione e restituisce un messaggio di errore predefinito.
Per saperne di più
Per la documentazione dettagliata che include questo esempio di codice, vedi quanto segue:
Esempio di codice
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],[],[],[],null,["# Catch errors\n\nImplements a custom exception handler based on the HTTP status code returned by a GET request. The workflow catches a potential exception and returns a predefined error message.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Catch errors](/workflows/docs/reference/syntax/catching-errors)\n- [Make an HTTP request](/workflows/docs/http-requests)\n\nCode sample\n-----------\n\n### YAML\n\n # Use a custom exception handler to catch exceptions and return predefined\n # error messages; if the exception isn't recognized, the workflow\n # execution fails and throws the exception returned by the GET request\n - read_item:\n try:\n call: http.get\n args:\n url: https://example.com/someapi\n auth:\n type: OIDC\n result: API_response\n except:\n as: e\n steps:\n - known_errors:\n switch:\n - condition: ${not(\"HttpError\" in e.tags)}\n next: connection_problem\n - condition: ${e.code == 404}\n next: url_not_found\n - condition: ${e.code == 403}\n next: auth_problem\n - unhandled_exception:\n raise: ${e}\n - url_found:\n return: ${API_response.body}\n - connection_problem:\n return: \"Connection problem; check URL\"\n - url_not_found:\n return: \"Sorry, URL wasn't found\"\n - auth_problem:\n return: \"Authentication error\"\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=workflows)."]]