https://issues.dlang.org/show_bug.cgi?id=6278
--- Comment #16 from Walter Bright <[email protected]> --- (In reply to hsteoh from comment #15) > Shouldn't it be ContractError? That was my thought, too. The problem with Error (and ContractError is derived from Error) is that it is not necessary for unwinding to occur, i.e. no destructors necessarily get called between the throw and the catch. I am concerned this may leave the program in an indeterminate state if ContractErrors are caught and then the program proceeds as normal. Hence ContractException. (yes, yebblies, it was your idea!) --
