Video: Metoder Del 1b (Java) 2024
Förutom de enklaste av Java-programmen är det mycket osannolikt att du någonsin kommer att stöta på ett program som är felfri. Fel i kodning händer för en mängd olika orsaker. Det räcker inte att skapa en applikation som använder rätt kod. Ansökan måste också ha rätt logik och använda argument på exakt det korrekta sättet.
I vissa fall finns ett fel faktiskt utanför applikationen, så programmet har inte ens kontroll över huruvida felet uppstår. Det bästa programmet kan göra är att hantera felet så att programmet inte kraschar och potentiellt skadar användarens data.
A kodningsfel representerar vilken åtgärd som applikationen tar som ligger utanför det förväntade beteendet för den applikationen. Fel kan vara dramatiska, till exempel en programkrasch. Fel är emellertid ofta mer subtila, till exempel visning av felaktig produktion eller ett oväntat resultat.
I vissa fall märks inte fel av användaren alls, men de presenterar möjligheter för fientliga individer att skada applikationen, dess data eller det system som stöder det.
Det finns situationer där koden i en viss del av din ansökan inte kan hantera ett fel. Koden har kanske inte tillräckligt med information eller det har inte de rättigheter som krävs för att utföra en uppgift. I vissa fall måste du interagera med användaren så att användaren kan fatta beslutet.
Det här är bara några av de omständigheter där din ansökan faktiskt måste signalera ett fel. En Java-applikation använder ett undantag för att signalera ett fel. Kasta ett undantag innebär att skapa en och skicka den till den som ringer.
Ett undantag är en varning av en sort. Det beskriver ett exceptionellt villkor i din ansökan och berättar att ett fel har inträffat. Undantag kan hända för alla möjliga orsaker. Felet kan finnas i din kod eller i applikationsmiljön.
Om programmet till exempel försöker öppna en fil som inte finns kommer Java Runtime Environment (JRE) att generera ett undantag som berättar om din ansökan om felet.
Kasta ett undantag betyder att skapa undantagsobjektet och sedan skicka det till den del av programmet som kallade den aktuella koden. När din ansökan slår ett undantag skapar det ett objekt som berättar för andra att det har stött på ett fel som det inte kan fixa. Som termen antyder är att kasta ett undantag något som din kod gör för exceptionella förhållanden, när inget annat alternativ är tillgängligt.
Det finns många felkällor i en applikation. Du kan anta att felet finns i koden, men ofta är det inte. Felet kan finnas i ett bibliotek eller i någon annan kod som programmet inte har någon kontroll över. I vissa fall har felet inget att göra med koden, men med applikationsmiljön.
Till exempel kanske programmet inte har tillgång till en resurs som den behöver för att fungera. En fil kan saknas, eller nätverksanslutningen kan vara nere. Användare orsakar också fel genom att tillhandahålla felaktig inmatning.
För det mesta finns det inga fel som en applikation inte kan hantera på något sätt när applikationskoden är robust nog och har tillräckligt med information för att lösa det. Men innan en applikation kan göra något med ett fel måste den ha den information som krävs för att lösa det.
Ett av de bästa verktygen som en utvecklare har är att göra en applikation robust nog för att hantera eventuella fel är att klassificera felet och förstå varför det händer.