Vad är att kasta in datavetenskap?
I datavetenskapens sammanhang hänvisar "kastning" till handlingen att överföra kontrollen över ett programs exekvering till en annan del av programmet eller till ett helt annat program. Detta görs vanligtvis med en "throw"-sats, som gör att programmet hoppar till en specifik plats i koden där undantagshanteringen kommer att ske.
När ett undantag kastas, hoppar programmet till närmaste catch-block (om det finns one) och kör koden inuti den. Fångstblocket kan hantera undantaget genom att tillhandahålla en lösning på problemet som orsakade undantaget, eller så kan det helt enkelt logga felet och fortsätta att köra programmet.
Tänk till exempel på följande kod:
```
try {
// do någon farlig operation här
} fånga (Undantag e) {
// hantera undantaget här
}
```
I den här koden kan den "farliga operationen" orsaka ett undantag, och "fånga"-blocket kommer att exekveras om ett undantag är kastas. Koden inuti catch-blocket kan sedan hantera undantaget genom att tillhandahålla en lösning på problemet som orsakade undantaget.



