C mein Error Handling
C mein try, catch, ya throw kuch nahi hai — koi exception mechanism bilkul nahi hai. Standard convention iski jagah ye hai ki ek function ek status code return kare (commonly success ke liye 0, ek specific tarah ki failure ke liye nonzero), aur jab actually koi value produce karni ho, to use directly return karne ki jagah ek output pointer parameter ke through likhe.
#include <stdio.h>
int safeDivide(int a, int b, int *result) {
if (b == 0) {
return -1;
}
*result = a / b;
return 0;
}
int main() {
int result;
if (safeDivide(10, 0, &result) == 0) {
printf("%d\n", result);
} else {
printf("Error: division by zero\n");
}
return 0;
}Error: division by zero
Yahi hai C ki foundation: koi garbage collector nahi, koi classes nahi, koi exceptions nahi — bas functions, structs, pointers, aur manual memory management, compiler aapki taraf se bahut kam check karta hai is site ki kisi bhi doosri language se. Baaki courses yahan jo bhi higher-level abstraction dete hain — garbage collection, RAII, borrow checking, exceptions — wo specifically isliye exist karte hain ki jo aapne abhi haath se kiya hai uska ek hissa automate kar saken. Yahan se, best next step practice hai: ek chhota program choose karo, aur har malloc par dhyan se dhyan do jo likho, kyunki C mein, free hamesha aapka hi kaam hota hai.
Practice exercise
safeDivide(int a, int b, int *result) likho jo -1 return kare aur *result ko chhoo na pare agar b 0 ho, warna a / b ko *result mein store kare aur 0 return kare. Use (10, 0, &result) ke sath call karo aur "Error: division by zero" print karo agar ye fail ho.