2016-03-29 16 views
2

C#, daha sonra yazmak niyetinde olduğum kod bölümlerinden atabileceğim uygun bir NotImplementedException'a sahiptir.NotImplementedException? NET Framework'de

Julia'da benzer bir iddia var mı?

+1

En yakın benzetme "MethodError", ancak genellikle bunlar otomatik olarak oluşturulur. – tholy

cevap

3

Yalnızca error("unimplemented") veya throw("unimplemented")'u kullanın. Bu istisnalar, sadece bir şeylerin uygulanmadığı konusunda sizi uyarmak içindir, bu yüzden onları kodla yakalamak veya işlemek istemeyebilirsiniz. Bir ErrorException veya hatta ASCIIString yeterlidir.

3

Julia'da kendi özel durum türünüzü oluşturmak oldukça basit.

throw(UnicodeError(UTF_ERR_SHORT, pos, chr)) 
: Ben sadece böyle bir şey yapabilirim,

const UTF_ERR_SHORT    = "invalid UTF-8 sequence starting at index <<1>> (0x<<2>> missing one or more continuation bytes)" 
const UTF_ERR_CONT    = "invalid UTF-8 sequence starting at index <<1>> (0x<<2>> is not a continuation byte)" 

    type UnicodeError <: Exception 
     errmsg::AbstractString  ##< A UTF_ERR_ message 
     errpos::Int32    ##< Position of invalid character 
     errchr::UInt32    ##< Invalid character 
    end 

    show(io::IO, exc::UnicodeError) = print(io, replace(replace(string("UnicodeError: ",exc.errmsg), 
     "<<1>>",string(exc.errpos)),"<<2>>",hex(exc.errchr))) 

Şimdi, UnicodeError atmak: Geçen yıl, istediğim tam olarak nasıl göstermek için bir yöntem ile birlikte, Julia aşağıdaki İstisna türü eklendi Tam olarak istediğim gibi görüntülenen bir istisna almak için

.