Jag håller på med Exceptions, jag förstår inte riktigt hur det fungerar. Jag har gjort följande. jag har en lagrad procedur som kastar ett fel om det inträffar nåt vid insättning av data, den ser ut så här catch (SqlClient.SqlException exSQL)Försöker förstå Exeption
<code>
IF @@ROWCOUNT <> 1
RAISERROR('Det uppstod ett fel vid insättningen av data, var god försök igen.', 16, 1)
</code>
I min DBklass tar jag hand om felet på följande sätt
<code>
catch (Exception e)
{
throw new Exception("Det uppstod ett fel, ordern är inte sparad. <br />" + e.Message);
}
</code>
I min aspx-fil tar jag emot det så här
<code>
catch (Exception ex)
{
lblError.Text = ex.Message;
}
</code>
Nu har jag gjort ett medvetet fel i proceduren för att jag ska få se om det fungerar. Detta ger följande felmeddelande <b>Det uppstod ett fel, ordern är inte sparad.
Cannot insert the value NULL into column 'lanID', table 'allSkrot.dbo.carJunk'; column does not allow nulls. INSERT fails. Det uppstod ett fel vid insättningen av data, var god försök igen. The statement has been terminated.</b>
Hur gör jag för att enbart det fel jag skriver i proceduren ska visas alltså det jag skriver i RAISERROR? Givetvis får jag ta bort texten i Exceptionet.Sv: Försöker förstå Exeption
Sen tittar du på exSQL i debuggern, du bör där kunna få åtkomst till meddelandet som kom från SQL-servern.
efter catch (SqlClient.SqlException exSQL)
gör du en catch (Exception ex)
för att fånga andra slags fel.