Checked

checked - słowo kluczowe języka C#

Instrukcje checked i Unchecked służą do informowania środowiska uruchomieniowego jak ma ono traktować błędy związane z przepełnieniem zmiennej.

Użycie bloku checked powoduje ze przy przepełnieniu zmiennej zgłaszany jest wyjątek OverflowException.

using System;

class Program
{
    static void Main(string[] args)
    {
        byte a = 200;
        byte b = 75;
        byte c = 0;
            
        checked
        {
            /* wynikiem dodawania jast 275 a w zmiennej typu byte mieści
               sie liczba 255 - dlatego zgłoszony jest wyjątek */
            c = (byte) (a + b);
        }

        Console.WriteLine("{0}", c);
    }
}

Odwrotny efekt daje użycie instrukcji Unchecked

Konstrukcje te są dostępne w języku C# aby dać programiście wybór między bezpieczeństwem jakie daje użycie checked, a wydajnością, która wzrasta gdy używa się instrukcji Unchecked.

Sprawdzanie błędów w całym programie można uzyskać dzięki parametrowi /checked+ kompilatora. Sprawdzanie przepełnień włącza się na kompilatorach testowych, kiedy trzeba wychwycić jak najwięcej błędów, a w wersji produkcyjnej wyłącza dla zwiększenia wydajności.

Zobacz też:

1 komentarz

ciekawa sprawa - nie wiedziałem :)