Yandex Cloud
Search
Discuss with expertTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Yandex Cloud Functions
  • Comparing with other Yandex Cloud services
    • Overview
    • Managing dependencies
    • Request handler
    • Invocation context
    • Logging
    • Error handling
    • Using the SDK
  • Tools
  • Pricing policy
  • Access management
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Public materials
  • Release notes
  • FAQ
  1. Developing in Go
  2. Error handling

Go function error handling

Written by
Yandex Cloud
Updated at July 2, 2026
View in Markdown

If the handler reports a Go function execution or loading error, the runtime automatically catches the error and returns a JSON document with information about the error type. For more information about the JSON document format, see Invoking a function.

The error info is also written to the execution log. You can view the log via the Yandex Cloud CLI or the management console.

Examples of error handlingExamples of error handling

Case 1: User code goes outside the array boundaries; panic is expected. In fact, the handler captures panic automatically, aggregates information about it, and generates a JSON document stating an error message (the errorMessage field), error type (the errorType field), and stack trace (the stackTrace field).

Function code:

package main

func Handler () (int, error) {
  array := []int{1, 2, 3, 4, 5}
  return array[15], nil
}

JSON document returned:

{
  "errorMessage": "user code execution causes panic: runtime error: index out of range [15] with length 5",
  "errorType": "UserCodePanic",
  "stackTrace": [
    ...
  ]
}

Case 2: User code reports an error by returning it from the function. In this case, the handler detects this error and generates a JSON document stating a custom error message (the errorMessage field) and its type (the errorType field).

Function code:

package main

import "fmt"

func Handler () (int, error) {
  return 0, fmt.Errorf("an error")
}

JSON document returned:

{
  "errorMessage": "an error",
  "errorType": "UserCodeError"
}

Was the article helpful?

Previous
Logging
Next
Using the SDK
© 2026 Direct Cursus Technology L.L.C.