? ??????? ??? ? ?? ???? ????? ????. ???? ??? ??? ?????, ???? ?????, ??? ?? ??? ??? ? ????. ???? ??????? ??? ?? ??? ??? ????? ??? ??? ???? ???? ?? ??????.
? ?????? Node.js ???????? ???? ???? ?? ?? ???? ???? ??? ?? ??????. ?? ?????! ?
?? ??? ??
JavaScript?? ??? ????? Error ???? ????? ?????. ??? ???? ??? "??"? ? ???, ??????? ?? ???? ?? ?? ??? ? ????. ??? ??? ????????? ?? Error ?????? ??? ???? ????? ? ????.
??? ??? ?? ?? ???? ?????!
??? ?? ?? ??? ??
??? ????? ?? ?? ??? ???? ? ??? ? ?? AppError?? ??????.
export class AppError extends Error { constructor(name, httpCode, description, isOperational, errors = []) { super(description); // Call the parent class (Error) constructor this.name = name; // Name of the error (e.g., ValidationError) this.httpCode = httpCode; // HTTP status code (e.g., 400, 404, 500) this.isOperational = isOperational; // Flag to distinguish between operational and system errors this.errors = errors; // Optional array of detailed error messages } }
??? ??????
- ??: ValidationError ?? NotFoundError? ?? ?? ??? ?????.
- httpCode: ??? ??? ?? 400, ?? ??? ?? 500 ? ??? HTTP ?? ??? ?????.
- ??: ??? ???? ??? ???? ???? ?????.
- isOperational: ??? ??? ???(?: ??? ?? ??) ?? ??? ?? ??(?: ??)? ???? ?? ??????.
- ??: ??? ?? ?? ???? ?? ??? ???? ??? ?????(?? ??? ???).
??? ?? ?? ????
?? ??? ?? ?? ???? ???? ??? ??? ??? ??? ??? ?????. ???? ??:
export const errorHandler = (err, req, res, next) => { if (err instanceof AppError) { // Handle operational errors res.status(err.httpCode).json({ success: false, error: err.name, message: err.message, errors: err.errors || [], }); } else { // Handle unexpected errors console.error('Unexpected Error:', err.stack); // Log the stack trace for debugging res.status(500).json({ success: false, error: 'InternalServerError', message: 'Something went wrong. Please try again later.', }); } };
??? ??? ????
?? ??? ?????:
??? AppError? ????? ?? ?? ??? ?????. ???? ??? ??? ????(?: ??? ?? ?? ?? ??? ??).
AppError? ?? ?? ??? ?? ??? ?????. ?? ??? ????? ???? ?? ?? ? ????.
Responds with the right status code and message: For AppError instances, it sends a structured JSON response containing the error details. For unexpected errors, it sends a generic 500 response to the user and logs the details for debugging.
?? ???
Express ?? ???? ??? ????? ?? ??? ??? ??? ??? ??? ???. ??? ?? AppError ???? ??? ? ????.
app.post('/submit-form', (req, res, next) => { const { name, email } = req.body; if (!name || !email) { const errors = []; if (!name) errors.push({ field: 'name', message: 'Name is required.' }); if (!email) errors.push({ field: 'email', message: 'Email is required.' }); return next(new AppError('ValidationError', 400, 'Invalid input data.', true, errors)); } res.json({ success: true, message: 'Form submitted successfully!' }); }); // Register the error-handling middleware app.use(errorHandler);
??? ???? ??? ????
???? ???? ??? ?? AppError ????? ?? ??? ?????.
errorHandler ????? ?? ???? ???? JSON ??? ????.
{ "success": false, "error": "ValidationError", "message": "Invalid input data.", "errors": [ { "field": "name", "message": "Name is required." }, { "field": "email", "message": "Email is required." } ] }
? ??? ???? ??? ??????
- ???: ??? ?? ?? ???? ???? ??? ? ??? ???? ?????? ? ????.
- ???: ?? ??? ?? ??? ??? ???? ????? ???? ? ?? ??? ? ????.
- ?? ??: ?? ???? ??? ??? ?? ????? ?? ??? ?????.
??
?? ??? ??? ??? ????! ??? ?? ?? ???? ????? ???? ? ???? ???? ??? ???? ??? ???? ??? ???? ???? ??? ? ????.
??? ?? ??? ?? ??? ??????? Node.js?? ??? ???? ?? ??? ??? ???? ?? ??? ?????!
? ??? Node.js?? ???? ???? ?? ?? ??? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ??











Java ? JavaScript? ?? ?? ????? ??? ?? ?? ?? ???? ????? ?????. Java? ??? ? ??? ?????? ??? ???? JavaScript? ?? ? ??? ??? ?????.

JavaScriptCommentsareEnsentialformaining, ?? ? ???? 1) Single-LinecommentsERUSEDFORQUICKEXPLANATIONS.2) Multi-linecommentSexplaincleClexLogicOrprovidedEdeDDocumentation.3) inlineecommentsClarifySpecificPartSofcode.bestPractic

JavaScript?? ??? ??? ?? ? ? ?? ??? ???????. 1. ?? ??? ??? ???? ?? ??? ????. ISO ?? ???? ???? ???? ???? ?? ????. 2. ?? ??? ?? ???? ??? ?? ???? ??? ? ??? ? ?? 0?? ????? ?? ??????. 3. ?? ?? ???? ???? ???? ?? ?????? ??? ? ????. 4. Luxon? ?? ???? ???? ?????? ???? ?? ????. ??? ?? ???? ????? ???? ??? ????? ?? ? ????.

JavaScriptIspreferredforwebDevelopment, whithjavaisbetterforlarge-scalebackendsystemsandandandoidapps.1) javascriptexcelsincreatinginteractivewebexperiences withitsdynatureanddommanipulation.2) javaoffersstrongtypingandobject-Orientededededededededededededededededdec

TAGGSATTHEBOTTOMOFABLOGPOSTORWEBPAGESERVESPRACTICALPURSEO, USEREXPERIENCE, andDESIGN.1.ITHELPSWITHEOBYOWNSESPORENGENSTOESTOCESKESKERKESKERKERKERDER-RELEVANTTAGSWITHOUTHINGTEMAINCONTENT.2.ITIMPROVESEREXPERKEEPINGTOPONTEFOCUSOFOFOFOCUSOFOFOFOCUCUSONTHEATECLL

javascriptassevenfundamentalDatatatypes : ??, ???, ??, unull, ??, ? symbol.1) ?? seAdouble-precisionformat, ??? forwidevaluerangesbutbecautiouswithfatingfointarithmetic.2) stringsareimmutable, useefficientconcatenationmethendsf

??? ?? ? ??? DOM?? ??? ??? ? ?????. ??? ?? ????? ?? ??????, ??? ?? ???? ?? ????????. 1. ??? ??? addeventListener? usecapture ?? ??? true? ???? ?????. 2. ??? ??? ?? ???? usecapture? ???? ????? ?????. 3. ??? ??? ??? ??? ???? ? ??? ? ????. 4. ??? ?? ?? ?? ??? ?? ??? ??????? ??? ???? ?????. 5. ??? ?? ?? ?? ??? ?? ???? ?? ???? ? ??? ? ????. ? ? ??? ???? ???? JavaScript? ??? ??? ??? ????? ???? ???? ??? ??????.

Java? JavaScript? ?? ????? ?????. 1. Java? ???? ???? ??? ? ??? ?????? ?????? ? ?? ???? ?????. 2. JavaScript? ?? ? ?? ?? ? ??? ?? ??? ???? ??? ? ?? ? ?? ?????.
