### 15.3 Type and Range Checking

Some languages are designed to guard you against making seemingly common errors through a series of compile- and run-time checks. These include checking the type of arguments to functions and operators and making sure mathematical overflows are caught at run time. Checks such as these help to ensure a program's correctness once it has been compiled by eliminating type mismatches and providing active checks for range errors when your program is running.

By default gdb checks for these errors according to the rules of the current source language. Although gdb does not check the statements in your program, it can check expressions entered directly into gdb for evaluation via the `print` command, for example.