2010-09-18 18 views
6

Şu anda bazı raket programlarında çalışıyorum, özellikle de PLAI'nin Programming Languages: Application and Interpretation Kitabının dilinde ve test denen bir fonksiyon var, hatayı raket içinde atmanın nasıl test edileceğini merak ediyordum? Bunu yapmayı bilen var mı?Halatta hataların atılması nasıl test edilir?

Selamlar

(Ben bu soruyu anlamaya edilebilir umut, bir yerli ingilizce konuşmacı değilim)

+0

Evet, soru çok anlaşılabilir bir Ancak, İngilizcenizi geliştirmek konusunda tavsiye isterseniz, burada iki yorum vardır: 1. kelime “Ben” doğru bir isimdir ve bir cümlenin başlangıcında olmasa bile büyük harfle yazılır 2. Genellikle “selamlaşma” gibi bir şey söylerseniz (ki bu genellikle gerekli değildir), söyleyeceğiniz şeyin başlangıcına gider. Sonunda kullandığınız diğer ifadeler de vardır: Yine bu sadece arkadaşça tavsiyeler olarak düşünülmüştür ve sizin sorunuzun anlaşılabilir halidir. –

+0

Belki de bu soru şu şekilde yeniden yazılmalıdır: "Hataların nasıl atılacağını test etme Racket'in PLAI dili "? – logc

cevap

7

örneğin, hata mesajları test etmek için kullanabileceğiniz test/exn vardır:

(test/exn (error "foo") "foo") 

, ancak belgelerin yalnızca kodunuz tarafından açıkça kaldırılan istisnaları test edebileceğini söylediğine dikkat edin. Buradaki fikir, kodunuzun hataları kontrol etmesi ve bunları yükseltmesidir, aksi takdirde bir hata vardır. ..

("gerçek" raket kodunun test için bkz rackunit

+5

Bu soru, sorulan soru için kesinlikle doğru olsa da, Bazı insanlar (benim gibi) sorunun cevabının cevabını aramak için buraya gidebilirler ("lang plai" değil "lang raketi" nin test edilmesi). Aradığınız işlev, "rackunit" içinde "check-exn" şeklindedir. İşte [belgeleri] (http://docs.racket-lang.org/rackunit/api.html#%28def._%28%28lib._rackunit%2Fmain..rkt%29._check-exn%29%29) – logc

İlgili konular