Programming term. Variables in programming languages can hold different types of data, such as whole numbers, floating point numbers or strings of characters (“text”). Untyped languages figure out on the fly what can and cannot be done to the content of a variable, while typed languages strictly keep track of the type of content (not the value) to catch bugs and improve performance, for example.
Np necessarily. Usually errors are detected at runtime and reported as such. So you will see where your program failed, but it usually crashes nonetjeless. Keep in mind that crashes are usually better than continuing some undefined behavior.