checked (C#-Referenz)
Aktualisiert: November 2007
Mit dem checked-Schlüsselwort wird die Überlaufprüfung für arithmetische Operationen und Konvertierungen mit ganzzahligen Typen explizit aktiviert.
Wenn ein Ausdruck einen Wert außerhalb des Wertebereichs des Zieltyps generiert, verursachen konstante Ausdrücke standardmäßig Fehler während der Kompilierung, und nicht konstante Ausdrücke werden zur Laufzeit ausgewertet und lösen Ausnahmen aus. Mit dem checked-Schlüsselwort können Sie jedoch die Überprüfung aktivieren, wenn Sie durch Compileroptionen oder die Konfiguration der Umgebung global unterdrückt ist.
Die Verwendung des unchecked-Schlüsselworts wird in den Beispielen zu unchecked veranschaulicht.
Beispiel
In diesem Beispiel wird die Verwendung von checked für einen nicht konstanten Ausdruck veranschaulicht. Der Überlauf wird zur Laufzeit berichtet.
class OverFlowTest
{
static short x = 32767; // Max short value
static short y = 32767;
// Using a checked expression
static int CheckedMethod()
{
int z = 0;
try
{
z = checked((short)(x + y));
}
catch (System.OverflowException e)
{
Console.WriteLine(e.ToString());
}
return z;
}
static void Main()
{
Console.WriteLine("Checked output value is: {0}",
CheckedMethod());
}
}
/*
Output:
System.OverflowException: Arithmetic operation resulted in an overflow.
at OverFlowTest.CheckedMethod()
Checked output value is: 0
*/
C#-Programmiersprachenspezifikation
Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:
5.3.3.2 Blockanweisungen, die checked-Anweisung und die unchecked-Anweisung
7.5.12 Der Operator "checked" und der Operator "unchecked"
8.11 Die checked-Anweisung und die unchecked-Anweisung
Siehe auch
Konzepte
Referenz
Checked und Unchecked (C#-Referenz)