Menu
CoddyTech

Respons error

Termasuk bagian Dasar-Dasar Express dalam perjalanan Node.js di Coddy. Pelajaran 17 dari 23.

Sebuah rute dapat gagal karena ada sesuatu yang tidak beres di server. Melempar Error meneruskan kegagalan itu ke Express. Penangan error adalah middleware dengan empat parameter, termasuk err sebagai parameter pertama. Express mengirim error yang dilempar ke middleware jenis ini.

app.use((err, req, res, next) => {
    res.status(500).json({error: 'Try later'});
});

Letakkan penangan setelah rute. client sebaiknya menerima pesan singkat, sementara server dapat mencatat detailnya. Pertahankan keempat parameter meskipun next tidak digunakan: Express menggunakan bentuk fungsi untuk mengenali penangan error.

Sebelum menambahkan penangan, GET /broken mengembalikan halaman error HTML milik Express. Memanggil next(err) juga meneruskan error ke penangan error; memanggil next() melanjutkan proses seperti biasa.

challenge icon

Tantangan

Mudah

Tombol Jalankan hanya menjalankan practice-errors/server.js. File Recipe Box-mu tidak berubah, dan kamu akan melanjutkan proyek itu di pelajaran berikutnya.

Tekan tombol Jalankan dan kirim GET /broken untuk melihat halaman error default. Tambahkan penangan error setelah rute. Catat err.message dengan console.error, lalu kirim status 500 dan {"error":"Try later"}. Respons tidak boleh menampilkan Database offline, tetapi Konsol harus menampilkannya.

Rute yang memunculkan error berada di practice-errors/routes.js yang terkunci. Tetap gunakan pemasangannya, tulis penangan di server.js.

Coba sendiri

import routes from './routes.js';
import express from 'express';
const app = express();
app.use(routes);
// Tambahkan penangan error di sini.
app.listen(3000);

Semua pelajaran di Dasar-Dasar Express

Latihan sendiri: Playground Express