Programowanie w języku C#

Checked

  • 2010-10-31 18:27
  • 1 komentarz
  • 2621 odsłon
  • Oceń ten tekst jako pierwszy
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

Marooned 2005-12-30 14:38

ciekawa sprawa - nie wiedziałem :)