Hata Yönetimi
Clipanion, varsayılan olarak uygulamanız tarafından fırlatılan tüm hataları yakalar ve bunların yığın izini (stack trace) yazdırır. Yığın izinin yazdırılmasını önlemek isterseniz, tipik Error
yerine bir UsageError
örneği fırlatın. Clipanion, yalnızca sağlanan mesajı ve komut kullanım satırını görüntüler.
ipucu
Bir hata (veya UsageError
) fırlatmanın çıkış kodunu 1 olarak ayarladığını unutmayın; ancak bunun yalnızca 1 olarak döndürmekten farklı olduğunu aklınızda bulundurun.
Sonuncu durumda, Clipanion, yalnızca kendinizin yazdırdığı şeyleri göstermez.
Bir kural olarak:
- Beklenmedik iç hatalar (örneğin başarısız doğrulamalar) için bir
Error
fırlatın. - Geçersiz seçenekler / ortamlar nedeniyle oluşan hatalar için bir
UsageError
fırlatın. - Komut düzgün bir şekilde çalıştırılmışsa ancak çağırana bir şey bildirilmesi gerekiyorsa (örneğin,
grep
eşleşme bulunamadığında hata döndürüyor veya bir dosyayı kontrol ederken hata keşfedildiğinde bir lint komutu), 1 döndürün.
Özel Hata Yönetimi
Bazı durumlarda, bir komut fırlatıldığında Clipanion'un ne yapacağını kontrol etmek isteyebilirsiniz. Bu durumda, komutunuzu tanımlarken catch
yöntemini geçersiz kılın:
import {Command} from 'clipanion';
export class HelloCommand extends Command {
async execute() {
throw new Error(`Merhaba dünya`);
}
async catch(error: unknown) {
// Burada istediğinizi yapabilirsiniz, orijinal hatayı yeniden fırlatmak gibi
throw error;
}
}