SQL Server 2008'de kullanıcı tanımlı bir işlev yazıyorum. İşlevlerin her zamanki şekilde hata üretemeyeceğini biliyorum - RAISERROR deyimini eklemeye çalışırsanız SQL şunu döndürür:
Msg 443, Level 16, State 14, Procedure ..., Line ...
Invalid use of a side-effecting operator 'RAISERROR' within a function.
Ancak gerçek şu ki, işlev geçersiz olabilecek bazı girdiler alır ve eğer öyleyse işlevin döndürebileceği anlamlı bir değer yoktur. O zaman ne yapacağım
Elbette NULL döndürebilirim, ancak işlevi kullanan herhangi bir geliştiricinin bu sorunu gidermesi zor olurdu. Ayrıca sıfıra bölünmeye veya bunun gibi bir şeye neden olabilirim - bu bir hata mesajı oluşturur, ancak yanıltıcıdır. Kendi hata mesajımı bir şekilde bildirebilmemin bir yolu var mı?