TL ; DR:
A
NameErroroccurs when Rust sees a word it does not recognize. Some examples:Misspelling a function name:
prntln!("Heyooo!"); // error: cannot find macro 'prntln' in this scopeMisspelling a variable name:
let animal: &str = "parrot"; println!("{}", anmal); // error: cannot find value 'anmal' in this scopeWhen Rust encounters a name error, it immediately stops executing your code and throws a
NameErrorinstead.
Full lesson:
Humans are prone to making mistakes. Humans are also typically in charge of creating computer programs. To compensate, programming languages attempt to understand and explain mistakes made in their programs.
Here are two common errors that we encounter while writing Rust code:
The syntax error:
Syntax errors are mistakes in the use of the Rust language, and are analogous to spelling or grammar mistakes in a language like English. For example, the sentence "Would you some tea?" does not make sense – it is missing a verb.
Syntax error means there is something wrong with the way your program is written. Some examples:
1. Misuse of commas when declaring a string:
let greeting: &str = 'Hey there!";
When we run this code we'll get a error: character literal may only contain one codepoint.
2. Leaving out an important character:
println "Hey";
When we run this code we'll get an error: expected `(`.
The reference error:
A reference error occurs when the Rust interpreter sees a word it does not recognize. A common example:
Using a non-existent variable / Misspelling a variable's name:
let animal: &str = "parrot";
println!("{}", aniimal);
When we run this code we'll get an error[E0425]: cannot find value 'aniimal' in this scope.
Assignment
Follow the Coding Tutorial and let's practice with errors!
Hint
Look at the examples above if you get stuck.
Free plan: 30 tutor messages. Premium is unlimited.