0

Làm thế nào để xử lý ngoại lệ trong Sequelize.js try … catch ..?

Để xử lý lỗi xảy ra khi có các ngoại lệ trong Sequelize, ví dụ insert duplidated row, thì rất đơn giản. Nhưng trong tài liệu của Sequelize.js thì hoàn toàn không nhắc gì đến vấn đề này. Cho nên mình phải note lại ở đây để bạn nào gặp phải biết cách xử lý:

Ví dụ, mình đang bị trường hợp insert duplicated row (duplidated keys)

Trong ví dụ trên mình đang insert kết quả của một survey vào database. Nhưng mình chỉ có thể try..catch chung chung là nếu có lỗi xảy ra, mà ko thể xác định cụ thể là lỗi gì.

Khi thao tác trong Sequelizejs, các Error đã được bọc lại “theo cách” của Sequelizejs nên bạn cũng không thể dùng if (error instanceof UniqueConstraintError) như cách của Js. Bạn phải lấy tên của lỗi bằng error.constructor.name và so sánh với tên lỗi trong Sequelizejs.

Đầu tiên, bạn xác định lỗi cần xử lý theo danh sách lỗi liệt kê trên thanh điều hướng bên trái của trang này.

Sau đó code như sau:

DONE!

Hoàng Tựa

Yêu thích lập trình web và tạo ra những thứ đẹp đẽ.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.