全部产品
Search
文档中心

Function Compute:Penanganan kesalahan

更新时间:Jul 02, 2025

Topik ini menjelaskan cara Function Compute menangani kesalahan dalam lingkungan runtime C#.

Pengecualian yang dilemparkan oleh suatu fungsi

Jika terjadi kesalahan saat suatu fungsi dijalankan, Function Compute menangkap kesalahan tersebut dan mengembalikan pesan kesalahan.

Contoh pernyataan:

using System;
using System.IO;
using System.Threading.Tasks;
using Aliyun.Serverless.Core;
using Microsoft.Extensions.Logging;

namespace Example
{
    public class Hello
    {
        public async Task<Stream> StreamHandler(Stream input, IFcContext context)
        {
            throw new Exception("oops");
        }

        static void Main(string[] args){}
    }
}
Respon berikut dikembalikan ketika fungsi dipanggil:
{
    "errorMessage": "oops",
    "errorType": "System.Exception",
    "stackTrace": [...]
}

Ketika terjadi kesalahan, header HTTP dalam respon terhadap pemanggilan fungsi berisi X-Fc-Error-TypeUnhandledInvocationError. Untuk informasi lebih lanjut tentang jenis-jenis kesalahan dalam Function Compute, lihat Jenis-Jenis Kesalahan.

Keluar aktif dari suatu fungsi

Saat Anda memperoleh informasi kesalahan dengan keluar secara aktif dari fungsi yang sedang berjalan, Anda tidak dapat memperoleh informasi kesalahan dan informasi stack selama proses keluar. Metode ini tidak direkomendasikan.

Contoh pernyataan:

using System;
using System.IO;
using System.Threading.Tasks;
using Aliyun.Serverless.Core;
using Microsoft.Extensions.Logging;

namespace Example
{
    public class Hello
    {
        public async Task<Stream> StreamHandler(Stream input, IFcContext context)
        {
            System.Environment.Exit(1);
        }

        static void Main(string[] args){}
    }
}
Respon berikut dikembalikan ketika fungsi dipanggil:
{
    "errorMessage": "Proses keluar secara tak terduga sebelum menyelesaikan permintaan (durasi: 45ms, penggunaan memori maksimum: 49MB)"
}