All language subtitles for 031 Unchecked Exceptions_en

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian Download
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,160 --> 00:00:03,650 Unchecked exceptions happened during the runtime. 2 00:00:06,000 --> 00:00:12,840 There are two types of exceptions, checked exceptions and unchecked exceptions in the previous lesson, 3 00:00:12,840 --> 00:00:18,030 you learned to catch checked exceptions, but in this lesson you're going to learn to fix unchecked 4 00:00:18,030 --> 00:00:18,930 exceptions. 5 00:00:24,120 --> 00:00:27,750 Both checked and unchecked exceptions are failures. 6 00:00:29,020 --> 00:00:33,700 I checked exception is a failure that's outside the control of the application, so Java is going to 7 00:00:33,700 --> 00:00:37,690 force you to try to run the code and catch the exception if it fails. 8 00:00:39,890 --> 00:00:46,490 An unchecked exception is the result of badly written code, never, ever catch an unchecked exception, 9 00:00:46,640 --> 00:00:50,480 catching an unchecked exception is the same as sweeping the problem under the rug. 10 00:00:50,660 --> 00:00:53,540 If your code is badly written, don't cover the problem. 11 00:00:53,720 --> 00:00:56,570 Instead, fix your code so that it doesn't fail. 12 00:00:59,990 --> 00:01:02,850 Unchecked exceptions are runtime exceptions. 13 00:01:02,870 --> 00:01:07,340 In other words, the failure happens while the app is running and will crash your application. 14 00:01:08,180 --> 00:01:10,880 The most common examples are right index out of bounds. 15 00:01:10,880 --> 00:01:13,220 Exception, null pointer exception. 16 00:01:13,610 --> 00:01:14,720 A legal argument. 17 00:01:14,720 --> 00:01:17,210 Exception in mismatch exception. 18 00:01:17,510 --> 00:01:19,260 An illegal state exception. 19 00:01:19,760 --> 00:01:20,800 There are so many more. 20 00:01:21,380 --> 00:01:22,550 Let's have a look at each one. 21 00:01:26,910 --> 00:01:32,730 Go to this path in your resources and open unchecked exceptions, and if you're missing this path for 22 00:01:32,730 --> 00:01:36,450 whatever reason, make sure to download the updated resources from GitHub. 23 00:01:45,190 --> 00:01:50,040 The array index out of bounds exception is thrown if you index outside the bounds of the array. 24 00:01:52,680 --> 00:01:57,870 So inside runtime, except you one Java, we're going to try to index the fifth element from an array 25 00:01:57,870 --> 00:01:59,670 that stores only three elements. 26 00:02:12,450 --> 00:02:17,370 And it crashes the application, throws an array index out of bounds exception. 27 00:02:18,760 --> 00:02:20,120 Now, there are two things we can do. 28 00:02:20,170 --> 00:02:21,730 You can try to run this code. 29 00:02:31,140 --> 00:02:33,090 And catch the exception if it fails. 30 00:02:34,570 --> 00:02:39,790 We're going to catch the array index out of bounds exception and print the message that it comes with. 31 00:02:52,550 --> 00:02:54,590 This time, the application doesn't crash. 32 00:02:55,010 --> 00:03:00,080 The code fails and throws an exception, but we're catching the exception and printing its message. 33 00:03:00,590 --> 00:03:05,880 And that being said, never, ever do that, never catch an unchecked exception. 34 00:03:06,470 --> 00:03:11,200 Remember that catching and unchecked exception is the same as sweeping the problem under the rug. 35 00:03:12,170 --> 00:03:17,540 When Jova throws an unchecked exception, like a right index out of bounds, that means there's something 36 00:03:17,540 --> 00:03:19,750 wrong or there's something missing in your code. 37 00:03:20,180 --> 00:03:24,140 So instead of catching the failure thickset so that it doesn't happen. 38 00:03:27,750 --> 00:03:28,550 And there you go. 39 00:03:32,250 --> 00:03:37,200 Now, the null pointer exception is thrown if you try to access something, if you try to dots and tags 40 00:03:37,200 --> 00:03:37,760 from a null. 41 00:03:40,320 --> 00:03:45,570 So inside one exception to that job, I try to call a method from the string class, I'm going to call 42 00:03:45,570 --> 00:03:47,490 a random method like two lowercase. 43 00:04:05,300 --> 00:04:11,060 And the code in line for fails and throws a null pointer exception, crashing the application, the 44 00:04:11,060 --> 00:04:16,399 null pointer exception is an unchecked exception because it happens during the runtime and when you 45 00:04:16,399 --> 00:04:19,519 get an unchecked exception, that means there's something wrong with your code. 46 00:04:20,269 --> 00:04:20,930 Let's fix it. 47 00:04:23,310 --> 00:04:25,830 So here I'm going to say if word is equal to null. 48 00:04:29,650 --> 00:04:31,450 Then I'll print the word is no. 49 00:04:38,000 --> 00:04:42,020 Otherwise, and only then are we allowed to call were lowercase. 50 00:04:50,990 --> 00:04:54,780 So as you can see, the unchecked exception forced me to improve my code. 51 00:04:54,800 --> 00:04:56,450 This was fully within my control. 52 00:04:57,260 --> 00:05:00,600 And the reason this is being highlighted is because it's never going to run. 53 00:05:00,670 --> 00:05:01,710 Word is always no. 54 00:05:01,730 --> 00:05:04,700 So it's that code anyway is not too important. 55 00:05:05,540 --> 00:05:06,720 But here's a common mistake. 56 00:05:06,980 --> 00:05:11,570 Normally, you should always use the equals method to compare a string, but you can't use it to check 57 00:05:11,570 --> 00:05:16,520 for a nail because dots and doxxing from a null trying to access something from a null is always going 58 00:05:16,520 --> 00:05:17,900 to throw a nail pointer exception. 59 00:05:28,770 --> 00:05:29,990 All right, let's fix it. 60 00:05:35,390 --> 00:05:37,790 Never replace if with try catch. 61 00:05:38,090 --> 00:05:44,150 I have no idea why people do this, if else statements are a lot faster than try catch and they're easier 62 00:05:44,150 --> 00:05:44,810 to work with. 63 00:05:46,390 --> 00:05:51,430 Besides only ever use, try and catch to catch the exceptions. 64 00:05:56,930 --> 00:06:01,610 Now, the input mismatch exceptions thrown by scanner, if the user enters a value that it wasn't expecting. 65 00:06:04,000 --> 00:06:06,700 So run the code inside runtime, except in three Java. 66 00:06:18,050 --> 00:06:21,050 Skinner is expecting an integer, but we're going to pass in a string. 67 00:06:23,220 --> 00:06:29,310 And we get an input mismatch exception, the input mismatch exception is an unchecked exception because 68 00:06:29,310 --> 00:06:30,900 it was thrown during the runtime. 69 00:06:31,500 --> 00:06:33,040 When you get an unchecked exception. 70 00:06:33,090 --> 00:06:36,000 Then there's something wrong or there's something missing in your code. 71 00:06:36,920 --> 00:06:41,960 In this case, what's missing is code that checks in advance if the next is an integer. 72 00:06:43,340 --> 00:06:47,270 And only then are we going to pick up the values, scandal and extent. 73 00:06:50,390 --> 00:06:54,770 Otherwise, we're going to have to pick it up using Scandi next line, because next line can pick up 74 00:06:54,770 --> 00:06:55,160 anything. 75 00:07:00,190 --> 00:07:01,480 And also, we'll tell the user. 76 00:07:02,860 --> 00:07:03,670 Not a no. 77 00:07:07,950 --> 00:07:09,150 OK, we on the code. 78 00:07:12,580 --> 00:07:18,010 I'll put in a word, and just like that, we handled the unchecked exception by fixing our code. 79 00:07:18,820 --> 00:07:23,590 Now we can say the code is reliable because there's no way that it's going to crash no matter what I 80 00:07:23,590 --> 00:07:24,390 throw at it. 81 00:07:26,090 --> 00:07:30,230 All right, we can actually take this a step further, we can use a while loop that runs forever. 82 00:07:44,710 --> 00:07:48,490 If the next input is an integer, then we'll print it and break the loop. 83 00:07:50,690 --> 00:07:54,320 And if the next input is anything else, then we'll pick it up with next line. 84 00:08:02,730 --> 00:08:06,930 And now the code is going to keep asking the user to enter a number until they do. 85 00:08:12,590 --> 00:08:17,930 If you can take anything away from this lesson, take this rule of thumb, catch a exception because 86 00:08:17,930 --> 00:08:22,490 it's outside the applications control, in any case, Judge is going to force you to catch it before 87 00:08:22,490 --> 00:08:27,800 compiling thickset, unchecked exception because it implies that there's something wrong or there's 88 00:08:27,800 --> 00:08:29,240 something missing in your code. 89 00:08:33,100 --> 00:08:38,200 In this lesson, you fixed three unchecked exceptions, an unchecked exception is a one time exception. 90 00:08:38,530 --> 00:08:44,340 The failure happens during the runtime because of poorly written code and never catch an unchecked exception. 91 00:08:44,800 --> 00:08:49,090 Instead, fix the code or improve the code so that the failure doesn't happen. 9246

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.