Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
Bu işlev, bir yapı bloğunun yürütülmesine neden olursa hatanın oluştuğu hatanın CATCHTRY...CATCH önem derecesi değerini döndürür.
Transact-SQL söz dizimi kuralları
Sözdizimi
ERROR_SEVERITY ( )
Dönüş türleri
Int
Dönüş değeri
Bir hatanın oluştuğu bir CATCH blokta çağrıldığında, ERROR_SEVERITY bloğun çalışmasına neden olan hatanın CATCH önem derecesi değerini döndürür.
ERROR_SEVERITYbir bloğun NULL kapsamı dışında çağrılırsa döndürürCATCH.
Açıklamalar
ERROR_SEVERITY blok kapsamındaki her yerde çağrıları CATCH destekler.
ERROR_SEVERITY , kaç kez çalıştığına veya blok kapsamında nerede çalıştığına bakılmaksızın hatanın CATCH hata önem derecesi değerini döndürür. Bu, @@ERROR gibi bir işlevle karşıttır ve yalnızca hataya neden olandan hemen sonra deyiminde bir hata numarası döndürür.
ERROR_SEVERITY genellikle iç içe yerleştirilmiş CATCH bir blokta çalışır.
ERROR_SEVERITY, bu bloğa başvuran CATCH bloğun kapsamına CATCH özgü hata önem derecesi değerini döndürür. Örneğin, CATCH dış TRY...CATCH yapı bloğu bir iç TRY...CATCH yapıya sahip olabilir. Bu iç bloğun içinde CATCH , ERROR_SEVERITY iç CATCH bloğu çağıran hatanın önem derecesi değerini döndürür. Dış ERROR_SEVERITY blokta çalıştırılırsaCATCH, bu dış CATCH bloğu çağıran hatanın hata önem derecesi değerini döndürür.
Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)
A. CATCH bloğunda ERROR_SEVERITY kullanma
Bu örnekte, sıfıra bölme hatası oluşturan saklı bir yordam gösterilmektedir.
ERROR_SEVERITY bu hatanın önem derecesi değerini döndürür.
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1 / 0;
END TRY
BEGIN CATCH
SELECT ERROR_SEVERITY() AS ErrorSeverity;
END CATCH
GO
Sonuç kümesi aşağıdadır.
-----------
(0 row(s) affected)
ErrorSeverity
-------------
16
(1 row(s) affected)
B. Catch bloğunda diğer hata işleme araçlarıyla ERROR_SEVERITY kullanma
Bu örnekte sıfıra bölme hatası oluşturan bir deyim gösterilmektedir SELECT . Saklı yordam hatayla ilgili bilgileri döndürür.
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1 / 0;
END TRY
BEGIN CATCH
SELECT ERROR_NUMBER() AS ErrorNumber,
ERROR_SEVERITY() AS ErrorSeverity,
ERROR_STATE() AS ErrorState,
ERROR_PROCEDURE() AS ErrorProcedure,
ERROR_LINE() AS ErrorLine,
ERROR_MESSAGE() AS ErrorMessage;
END CATCH
GO
Sonuç kümesi aşağıdadır.
-----------
(0 row(s) affected)
ErrorNumber ErrorSeverity ErrorState ErrorProcedure ErrorLine ErrorMessage
----------- ------------- ----------- --------------- ----------- ----------------------------------
8134 16 1 NULL 4 Divide by zero error encountered.
(1 row(s) affected)
İlgili içerik
- sys.messages
- Veritabanı Altyapısı hata önem dereceleri
- DENEMEK... CATCH (Transact-SQL)
- ERROR_LINE (Transact-SQL)
- ERROR_MESSAGE (Transact-SQL)
- ERROR_NUMBER (Transact-SQL)
- ERROR_PROCEDURE (Transact-SQL)
- HATA_DURUMU (Transact-SQL)
- RAISERROR (Transact-SQL)
- @@ERROR (Transact-SQL)
- Hatalar ve olaylar başvurusu (Veritabanı Altyapısı)