Fail-stop - Fail-stop
![]() | tento článek ne uvést žádný Zdroje.Červen 2019) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
A selhání-zastavení podmnožina a počítačový jazyk je ten, který má stejné sémantika jako originál, s výjimkou případu, kdy výjimečný stav vzniká. Podmnožina Fail-Stop musí hlásit výjimečnou podmínku, kdykoli ji nadřazený jazyk ohlásí, ale může výjimečně hlásit výjimečnou podmínku i v jiných případech.
Jazyky Fail-Stop se často používají v počítačových systémech, kde správnost je velmi důležité, protože je snazší vytvořit takové systémy rychle selhat. Například operátor „+“ v mnoha programovacích jazycích není asociativní z důvodu možnosti s plovoucí desetinnou čárkou přetékat. Oprava těchto jazyků, aby rychle selhaly, když běžně předpokládané vlastnosti nedrží, usnadňuje mnohem snazší psaní a ověřování správného kódu.
Příklady
V mnoha široce používaných programovacích jazycích může níže uvedený kód snížit hodnotu bankovního účtu, pokud je vložená částka nebo stará hodnota účtu velmi velká, a to tak, že bude přidělena přetečená hodnota new_bank_account_value.
new_bank_account_value = old_bank_account_value + množství_vloženo // ukázkový výpočet s 32bitovými celými čísly se znaménkem k prokázání, který přetéká nad 2 147 483 647 // -2,147,483,646 = 2,147,483,640 + 10
Ale v jazyce Fail-Stop, který považuje přetečení za výjimečnou podmínku, je buď správný, nebo bude ukončen výjimečnou podmínkou.