Try and Catch

JavaScript for Newbies Advanced Topics
6 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$39.99
List Price:  $79.99
You save:  $40
€38.34
List Price:  €76.69
You save:  €38.35
£31.81
List Price:  £63.63
You save:  £31.81
CA$57.41
List Price:  CA$114.84
You save:  CA$57.43
A$63.97
List Price:  A$127.96
You save:  A$63.98
S$54.21
List Price:  S$108.43
You save:  S$54.22
HK$310.92
List Price:  HK$621.91
You save:  HK$310.99
CHF 35.74
List Price:  CHF 71.50
You save:  CHF 35.75
NOK kr452.69
List Price:  NOK kr905.49
You save:  NOK kr452.80
DKK kr285.99
List Price:  DKK kr572.05
You save:  DKK kr286.06
NZ$70.70
List Price:  NZ$141.42
You save:  NZ$70.72
د.إ146.88
List Price:  د.إ293.80
You save:  د.إ146.92
৳4,759.62
List Price:  ৳9,520.44
You save:  ৳4,760.81
₹3,397.10
List Price:  ₹6,795.05
You save:  ₹3,397.95
RM180.27
List Price:  RM360.59
You save:  RM180.32
₦61,792.91
List Price:  ₦123,601.28
You save:  ₦61,808.36
₨11,086.54
List Price:  ₨22,175.86
You save:  ₨11,089.31
฿1,367.71
List Price:  ฿2,735.76
You save:  ฿1,368.05
₺1,402.52
List Price:  ₺2,805.39
You save:  ₺1,402.87
B$243.37
List Price:  B$486.81
You save:  B$243.44
R732.54
List Price:  R1,465.27
You save:  R732.72
Лв74.93
List Price:  Лв149.89
You save:  Лв74.95
₩57,842.33
List Price:  ₩115,699.13
You save:  ₩57,856.80
₪145.51
List Price:  ₪291.06
You save:  ₪145.55
₱2,352.81
List Price:  ₱4,706.21
You save:  ₱2,353.40
¥6,256.23
List Price:  ¥12,514.03
You save:  ¥6,257.80
MX$803.05
List Price:  MX$1,606.30
You save:  MX$803.25
QR145.19
List Price:  QR290.43
You save:  QR145.23
P550.51
List Price:  P1,101.16
You save:  P550.64
KSh5,142.14
List Price:  KSh10,285.57
You save:  KSh5,143.43
E£2,034.81
List Price:  E£4,070.14
You save:  E£2,035.32
ብር4,965.06
List Price:  ብር9,931.37
You save:  ብር4,966.30
Kz36,710.82
List Price:  Kz73,430.82
You save:  Kz36,720
CLP$39,506.29
List Price:  CLP$79,022.46
You save:  CLP$39,516.17
CN¥291.78
List Price:  CN¥583.63
You save:  CN¥291.85
RD$2,425.42
List Price:  RD$4,851.45
You save:  RD$2,426.03
DA5,393.73
List Price:  DA10,788.81
You save:  DA5,395.08
FJ$92.63
List Price:  FJ$185.29
You save:  FJ$92.66
Q306.89
List Price:  Q613.86
You save:  Q306.97
GY$8,332.99
List Price:  GY$16,668.06
You save:  GY$8,335.07
ISK kr5,538.46
List Price:  ISK kr11,078.31
You save:  ISK kr5,539.84
DH400.86
List Price:  DH801.83
You save:  DH400.96
L734.57
List Price:  L1,469.33
You save:  L734.75
ден2,358.54
List Price:  ден4,717.67
You save:  ден2,359.13
MOP$318.86
List Price:  MOP$637.80
You save:  MOP$318.94
N$733.28
List Price:  N$1,466.76
You save:  N$733.47
C$1,465.68
List Price:  C$2,931.72
You save:  C$1,466.04
रु5,417.88
List Price:  रु10,837.11
You save:  रु5,419.23
S/148.31
List Price:  S/296.66
You save:  S/148.35
K161.51
List Price:  K323.07
You save:  K161.55
SAR150.21
List Price:  SAR300.46
You save:  SAR150.25
ZK1,102.28
List Price:  ZK2,204.85
You save:  ZK1,102.56
L190.81
List Price:  L381.67
You save:  L190.86
Kč963.45
List Price:  Kč1,927.14
You save:  Kč963.69
Ft15,873.63
List Price:  Ft31,751.23
You save:  Ft15,877.60
SEK kr441.19
List Price:  SEK kr882.49
You save:  SEK kr441.30
ARS$40,705.74
List Price:  ARS$81,421.67
You save:  ARS$40,715.92
Bs275.23
List Price:  Bs550.54
You save:  Bs275.30
COP$174,344.67
List Price:  COP$348,732.94
You save:  COP$174,388.27
₡20,095.61
List Price:  ₡40,196.26
You save:  ₡20,100.64
L1,011.06
List Price:  L2,022.38
You save:  L1,011.31
₲310,574.38
List Price:  ₲621,226.44
You save:  ₲310,652.05
$U1,776.52
List Price:  $U3,553.49
You save:  $U1,776.96
zł163.49
List Price:  zł327.04
You save:  zł163.54
Already have an account? Log In

Transcript

Sometimes you want to do something tricky with your good and you want your customers to have a very good user experience. And actually there is a small line that will determine whether or not your customers will be happy or sad. And of course, you want your customers to have a good experience, not a terrible one. Therefore, there is something called try and catch in JavaScript and many programming languages that will catch errors whenever it sees them. And whenever you are unsure of if that code that you are writing will produce some errors you need to use try and catch so that you catch errors and leave your customers happy. So let's now take some examples so that you understand much better.

So suppose that you are designing a login system and you need to be Get the username so that you let the user in to your system. And you have created a function called get name, okay. And this get name should return the user name or the name of that user so that you can leave them in. And you actually forgot to create this function at all, you just call this function without creating it. And in order to avoid the error, so if we just again, type this function name, get name. And now if I save and run, what I'm gonna get, obviously is an error.

And we don't want the user to see that, because that will absolutely will make our system so weak and the user will have a terrible user experience and they will leave your program and go to another one. In order to fix that in order to avoid this error. We use something called try and catch. So you would cry and then curly braces, and you add your code that you are afraid if it will produce an error or not, you are you are not sure if it's gonna produce some errors. So here you just add, you just surround them with a try and error with a curly braces. And then at the end of that queue, closing curly braces, you type catch, and you add parentheses.

And inside these parentheses, you add just the word e or air or anything and JavaScript will know that this is the air that it's going to catch. And then you open another curly braces and inside them, you use for example, the console dot log, and you print that error to the user. Right? Now, if I save on run, guess what, what's gonna happen? What's gonna happen instead, is that it's gonna tell you that gate name is not defined. It's going to tell you reference error.

This is not a collapse, or this is not a break in our system. It's just catching an error. JavaScript has catched, the error, the fact that this function has not been defined, and it just printed out to the user. But sometimes you want to be more specific with your user, you want to display the error and tell the user that look, I have an error, that it's bla bla bla, for example, you have forgotten to type in your name or something like that, or the name is not defined, you can specifically tell the user that the error is a blah, blah, blah. So here we are going to do that. For example, suppose that you have a variable called name, var name.

And this variable is going to store the user name or the name of that user, so that you firstly need to check if it exists or not, if it exists, or if it's different. We are going to let the user and if it's not defined, we are going to prevent the user from logging in. And we are going to display the error semantically and clearly to the user without our system being broken. So here, what I'm going to do is I'm going to use your if statement. And I'm going to use this name, and then triple equal sign, and then undefined. And then what that means if our name, this one, or the name of the user that the user is going to type in our system is undefined if it's not defined, instead of displaying just a normal error, a general error, we are going to be more specific with our user.

Therefore we are going to use a keyword called throw, here throw. And what it does is that it makes your error more specific It also prevents you from from continue with your code. So once there is an error, the complete code will not be executed, it's it's going to stop where it is. And it's going to display the error. And it's not going to go further with your code. So you just type throw, and then the error that you want to display here, for example, sorry, sorry, your name.

Your name is not defined, or whatever you want. It's just a cast a custom message for the user. Now, if I save on run, as you can see what I what I'm going to get is sorry, Your name is not defined because this name is not defined. Because the user, for example, might have forgotten to type in their name and they clicked on the login button without clicking without typing in their name. They just accidentally maybe accidentally or intentionally intentionally clicked on the login without filling in their name and password. So, here you just be you you are just being more specific with your user and you are telling them that sorry, there is an error sorry, Your name is not defined, or whatever message you want to send to your user instead of sending a general message.

So in conclusion, if you are not sure if your code will produce some errors, you just surround it with try and catch and catch will handle the error will display the error systematically and clearly to the user without any terrible user experience. If you have a specific message that you want to send to the user, in case there is an error, you just use the throw keyword

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.