Function Compute menangkap error yang dilemparkan oleh fungsi Node.js Anda dan mengembalikan respons terstruktur. Halaman ini mencakup dua kategori error yang dapat dihasilkan oleh fungsi Node.js serta cara menafsirkan kode status HTTP dari layanan tersebut.
Jenis error
Eksepsi yang ditangkap
Saat fungsi Anda melemparkan eksepsi, Function Compute akan menangkapnya dan mengembalikan objek JSON dengan tiga bidang:
| Bidang | Deskripsi |
|---|---|
errorMessage | String pesan error |
errorType | Nama kelas error JavaScript |
stackTrace | Array frame stack |
Modul ECMAScript
Sintaksis modul ECMAScript memerlukan Node.js 18 atau versi lebih baru. Kode contoh mendukung penerapan satu klik (nodejs-fc-err-es).export const handler = async (event, context) => {
throw new Error('oops');
};Modul CommonJS
exports.handler = function(event, context, callback) {
throw new Error('oops');
};Contoh respons:
{
"errorMessage": "oops",
"errorType": "Error",
"stackTrace": [
"Error: oops",
" at handler (file:///code/index.mjs:2:9)",
" at module.exports (file:///var/fc/runtime/nodejs20/bootstrap.mjs:5655:14)",
" at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
]
}Keluar tidak normal
Jika fungsi Anda memanggil process.exit() saat berjalan, runtime tidak dapat menangkap error terstruktur. Layanan tersebut akan mengembalikan pesan umum sebagai gantinya:
Modul ECMAScript
Sintaksis modul ECMAScript memerlukan Node.js 18 atau versi lebih baru.
export const handler = async (event, context) => {
process.exit(1);
};Modul CommonJS
exports.handler = function(event, context, callback) {
process.exit(1);
};Contoh respons:
{
"errorMessage": "Process exited unexpectedly before completing request (duration: 12ms, maxMemoryUsage: 0MB)"
}Kode status HTTP
Respons 2xx tidak menjamin keberhasilan fungsi. Periksa header respons X-Fc-Error-Type untuk mendeteksi error fungsi yang dikembalikan dengan kode status 2xx.
Saat pemanggilan fungsi gagal, Function Compute mengembalikan kode status HTTP, badan respons, dan — untuk error tingkat fungsi — header respons X-Fc-Error-Type. Periksa sinyal-sinyal ini untuk menangani error dalam kode atau menampilkannya kepada pengguna akhir.
| Kode status | Makna |
|---|---|
| 2xx | Function Compute menerima permintaan. Jika respons menyertakan header X-Fc-Error-Type, berarti terjadi error fungsi — misalnya, eksepsi yang tidak tertangani dalam kode Anda. |
| 4xx (kecuali 429) | Klien yang memulai pemanggilan mengirim permintaan tidak valid. |
| 429 | Permintaan dibatasi lajunya (throttled). |
| 5xx | Terjadi error internal di Function Compute, konfigurasi fungsi tidak valid, atau terdapat masalah sumber daya. |
Untuk daftar lengkap error pemanggilan dan langkah penyelesaiannya, lihat Penanganan error.