C# kivételtípusok és a hozzájuk tartozó kivételosztályok A SystemException egy alap kivételosztály, amelyet más felhasználók kezelhetnek Az ArgumentException módszer illegális Az ArgumentNullException egy olyan metódusnak kerül, amely nem fogadja el az argumentust Az ArgumentOutOfRangeException paraméterérték nem a tartományon belül van Az ArithmeticException aritmetikai túlömléssel vagy alultúlterheléssel rendelkezik Az ArrayTypeMismatchException megpróbál egy rossz típusú objektumot tárolni a tömbben BadImageFormatException A gráf hibás formált DivideByZeroException nulla kivételt távolít el DllNotFoundException A hivatkozott DLL nem található meg A FormatException paraméter helytelenül van formázva IndexOutOfRangeException A tömbindex a hatótávolságon kívül van Az InvalidCastException egy érvénytelen osztályt használ Az InvalidOperationException metódus helytelenül időzített A MethodAccessException megpróbál hozzáférni egy ThoughtFriend vagy védett módszerhez MissingMemberException egy érvénytelen DLL verzióhoz fér hozzá A NotFiniteNumberException objektum nem érvényes tag A NotSupportedException nincs implementálva az osztályban NullReferenceException megpróbál egy hozzá nem rendelt hivatkozást használni OutOfMemoryException Nincs elég memória hely A PlatformNotSupportedException hibát ad meg, ha egy adott tulajdonságot a platform nem támogat StackOverflowException stack overflow
SystemException futásidővel minden előforduló hibához. Az indexOutOfRangeException akkor emelkedik, amikor futtatva egy index-tömb nincs a hatótávolságon. NullReferenceException akkor jelenik meg, amikor egy üres objektumra hivatkoznak futáskor. Az InvalidOperationException egy metódus által előfordul, ha egy metódus hívása érvénytelen az objektum aktuális állapotában.
ArgumentException Az alap osztály minden paraméter kivételéhez. Az ArgumentNullException a metódus akkor emeli meg, ha a paraméter üres (nem engedélyezett). Az ArgumentOutOfRangeException a metódus által akkor jelenik meg, ha a paraméter nem egy adott tartományon belül van. Az InteropException a kivétel alaposztályát célozza meg, amely a CLR-en kívüli környezetben vagy abban fordul elő. ComException Egy kivétel, amely tartalmazza a COM osztály HRESULT információit. A SEHException a Win32 struktúrájában található kivételeket kapszulálja, hogy az információban lévő kivételeket kezelje. A SqlException SQL műveleti kivételeket kapszulál.
Különbség a CurrentCulture és a CurrentUICulture között:
1. CurrentCulture: Ez a tulajdonság a felhasználók által kívánt "régió opciók", szabványok, formátumok stb. meghatározására szolgál. 2. CurrentUICulture: Ahogy a neve is mutatja, ez a tulajdonság definiálja azt a nyelvet, amelyet a felhasználók használnak a rendszerbe való bejelentkezéshez, például a MUI (Multi-Language) esetében. Felhasználói felület), meghatározhatod az asztalon megjelenített nyelvet. Ez azt jelenti, hogy amikor bejelentkezel az XP asztali gépre, az interfész angolul lehet (urrentUICulture), de választhatod a "Taiwan" (CurrentCulture) számokat, a dátum megjelenítését és a helyedet. A Windows Vezérlőpultján a "Régió és Nyelv" opcióval a felhasználók megváltoztathatják a CurrentCulture alapértelmezett beállításait. Ezzel a konfigurációval megváltoztathatod a kultúra alapértelmezett számát, időpontját és dátumformátumát is. A CurrentUICulture nem ezen konfigurációtól függ, hanem az operációs rendszer nyelvén.
Testreszabni a kivételosztályt
Különböző kivételüzeneteket küldenek a jelenlegi rendszerrégió nyelvének megszerzésével
|