Error Handling ve Debugging Teknikleri

  • 10
  • (1)
  • (5)
  • 29 Oca 2025

Hata yönetimi (Error Handling) ve hata ayıklama (Debugging), yazılım geliştirmenin önemli bileşenlerindendir. Node.js gibi dinamik ve asenkron çalışan bir ortamda, hataları yakalamak ve yönetmek uygulamanın güvenilirliğini artırır. Bu makalede, Node.js projelerinde etkili hata yönetimi ve debugging tekniklerini inceleyeceğiz.


Hata Türleri

Node.js uygulamalarında üç ana hata türü bulunmaktadır:

Sözdizimi Hataları (Syntax Errors): Kodu yanlış yazmaktan kaynaklanır. Örnek:

console.log('Merhaba);

Çalışma Zamanı Hataları (Runtime Errors): Çalışma esnasında ortaya çıkar. Örnek:

const veri = JSON.parse('hatalı json formatı');

Mantıksal Hatalar (Logical Errors): Programın beklenmeyen şekilde çalışmasına neden olan hatalardır. Örnek:

function toplama(a, b) {
    return a - b; // Yanlış işlem
}

Hata Yönetimi Teknikleri

1. Try-Catch Bloğu Kullanımı

Senkron kodlarda hataları yakalamak için try-catch blokları kullanılır.

try {
    let veri = JSON.parse('{"ad": "Ahmet"}');
    console.log(veri.ad);
} catch (error) {
    console.error('JSON parse hatası:', error.message);
}

2. Asenkron Hataların Yönetimi

Asenkron işlemlerde hataları catch bloğuyla yönetebilirsiniz.

const fs = require('fs/promises');

async function dosyaOku() {
    try {
        let veri = await fs.readFile('olmayan_dosya.txt', 'utf8');
        console.log(veri);
    } catch (error) {
        console.error('Dosya okuma hatası:', error.message);
    }
}

dosyaOku();

3. Global Hata Yönetimi

Node.js uygulamalarında global hataları yakalamak için aşağıdaki yöntemler kullanılabilir:

process.on('uncaughtException')

process.on('uncaughtException', (error) => {
    console.error('Beklenmeyen hata yakalandı:', error);
});

process.on('unhandledRejection')

process.on('unhandledRejection', (reason, promise) => {
    console.error('Unhandled Promise Rejection:', reason);
});

Debugging Teknikleri

Hataları tespit etmek ve düzeltmek için kullanılan yaygın debugging yöntemleri şunlardır:

1. Ekrana Yazdırarak Debugging

En basit hata ayıklama yöntemi, değişkenleri ekrana yazdırmaktır. console.log() ile değişkenleri ekrana yazdırabilirsiniz.

const kullanici = { ad: 'Mehmet', yas: 30 };
console.log('Kullanıcı Bilgisi:', kullanici);

2. Node.js Debugger Kullanımı

Node.js, dahili bir hata ayıklama aracına sahiptir. Debugger'ı başlatmak için şu komutu kullanabilirsiniz:

node --inspect app.js

Veya tarayıcı üzerinden hata ayıklamak için:

node --inspect-brk app.js

Bu komut ile Chrome Developer Tools üzerinden kodunuzu debug edebilirsiniz.

3. VS Code Debugger Kullanımı

VS Code ile debugging yapmak için şunları yapabilirsiniz:

VS Code'u açın ve Debug paneline gidin.

Run and Debug > Node.js seçeneğini seçin.

nodejs vscode debug error

Satırların başlarına Breakpoints (Kesme Noktaları) ekleyerek hata ayıklayın.

util.debuglog() Kullanımı

util.debuglog() fonksiyonu, hata ayıklamak için çevresel değişkenlere bağlı olarak mesajları görüntüler.

const util = require('util');
const debug = util.debuglog('app');

debug('Bu hata ayıklama mesajıdır');

Komut satırında aşağıdaki gibi çalıştırıldığında mesaj görüntülenir:

NODE_DEBUG=app node app.js

Hata yönetimi ve debugging, Node.js uygulamalarının kararlı ve güvenilir olmasını sağlamak için kritik öneme sahiptir. try-catch, async/await ile hata yönetimi ve console.log(), node inspect, VS Code Debugger gibi araçlar kullanarak hataları hızlıca tespit edip düzeltebilirsiniz. Daha sağlam ve sürdürülebilir uygulamalar geliştirmek için bu teknikleri projelerinizde uygulayabilirsiniz.

İlişkili İçerikler

Async/Await, Node.js uygulamalarında asenkron işlemleri daha okunabilir ve yönetilebilir hale getiren modern bir JavaScript yapısıdır.

Paylaşın
Etiket Bulutu