Feil er uunngåelige når det gjelder utviklingen. Det er derfor en god plan å sikre at du iverksatte noen tiltak slik at feilene ikke bryter funksjonaliteten til applikasjonen din.
SQL Server lar oss bruke kastuttalelsen for å heve et unntak. Vi overfører deretter utførelseskonteksten til et forsøk og fange blokkering for å håndtere feilen.
Syntaks
Følgende kodebit viser syntaks for kastuttalelsen:
Kast [error_numer,Argumentene i den medfølgende syntaks inkluderer følgende:
Merk: Enhver uttalelse før en kasteklausul må avsluttes med en semikolon. SQL -serveren krever også at kastet inkluderer de tidligere argumentene. Hvis kastuttalelsen ikke har de tidligere argumentene, må den lukkes i en prøve/fangstblokk.
Syntaksen er som følger:
Begynn å prøveDu kan ikke bruke % -tegnet i parameteren Error_Message. Dette er fordi det er en reservert karakter. Hvis du trenger å inkludere%-tegn i feilmeldingen din, må du sørge for å unnslippe den ved å ha dobbeltprosenttegn (%%).
SQL Server -kast uttalelseseksempler
La oss se på noen eksempler på kastuttalelsen i aksjon.
SQL Server ved å bruke kastuttalelsen for å kaste unntak
Følgende eksempel viser å bruke kastuttalelsen for å heve et unntak:
Kast 50001, '[mislykkes] - den forespurte verdien er ikke funnet.', 1;I dette eksemplet bruker vi kastuttalelsen for å heve et unntak med feilkoden 50001 og tilstanden til 1.
Den resulterende utgangen er som følger:
SQL -feil [50001] [S0001]: [FAIL] - Den forespurte verdien er ikke funnet.SQL Server rethrows unntaket ved å bruke kastuttalelsen
Vi kan også bruke kast unntaket for å se på det siste unntaket på nytt. Et eksempelkode er som følger:
slippbord hvis finnes t;Den forrige spørringen skal skrive ut følgende:
feil fangetBruke formatmeldingen til å kaste en tilpasset melding
Følgende eksempel viser hvordan du bruker FormatMessage -funksjonen for å kaste et unntak med en tilpasset melding:
Exec Sys.Sp_addMessage @msgnum = 50001,I dette tilfellet lar FormatMessage -funksjonen oss legge til de tilpassede meldingene inkludert variabler. Igjen kan du sjekke dokumentene på SQL Server SP_AddMessage () for å lære mer.
Den resulterende feilmeldingen er som følger:
SQL -feil [50001] [S0001]: En tilpasset melding inkludert variabel: 100Konklusjon
Dette innlegget diskuterte hvordan du kan bruke kasteklausulen i SQL -serveren for å heve et unntak.
Takk for at du leste!