Тёмный

Exception handling in C++ (How to handle errors in your program?) 

CodeBeauty
Подписаться 284 тыс.
Просмотров 99 тыс.
50% 1

Опубликовано:

 

26 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 293   
@CodeBeauty
@CodeBeauty 3 года назад
📚 Learn how to solve problems and build projects with these Free E-Books ⬇️ C++ Lambdas e-book - free download here: bit.ly/freeCppE-Book Entire Object-Pascal step-by-step guide - free download here: bit.ly/FreeObjectPascalEbook 🚀📈💻🔥 My Practical Programming Course: www.codebeautyacademy.com/ Experience the power of practical learning, gain career-ready skills, and start building real applications! This is a step-by-step course designed to take you from beginner to expert in no time! 💰 Here is a coupon to save 10% on your first payment (CODEBEAUTY_YT10). Use it quickly, because it will be available for a limited time.
@abdullahfaisal1265
@abdullahfaisal1265 Год назад
Hi saldina, can you please share the code in your pinned comment as a github link or as a txt message it really helps before the evalution. Thank you for lessons.
@General_Boo
@General_Boo 3 года назад
PLEASE never delete your channel/videos!! Your content is so useful
@CodeBeauty
@CodeBeauty 3 года назад
I won't delete it. 😃 I'm hoping to reach even more people and help them learn programming. Thank you! 💜
@spencerignatescue158
@spencerignatescue158 Год назад
Ah , I can't tell if your just simping or if this is meant to be sarcastic .
@mr.erikchun5863
@mr.erikchun5863 Год назад
@@spencerignatescue158 the lonely virgin calling someone a simp. Smh
@OCEAN-fc9wl
@OCEAN-fc9wl 2 года назад
This channel is perfect for learning C++ in an organic and simple way.
@fachriyasir661
@fachriyasir661 3 года назад
Hi Saldina, Thank you for spending your time creating video about C++. I'm not a CS student and not really good at programming but you help me pass C++ class. Now I also start to get interested to programming. I feel blessed that I found your channel, so please keep making videos like this:))
@virtually2124
@virtually2124 9 дней назад
um what is a "CS" student ?
@alexandruteodor3585
@alexandruteodor3585 3 года назад
This tutorial is exceptional! :)
@CodeBeauty
@CodeBeauty 3 года назад
😁😁
@anonymousfan9703
@anonymousfan9703 2 года назад
@@CodeBeauty I love you
@GhanBuri666
@GhanBuri666 3 года назад
I love listening to you because you are explaining everything in the easiest possible way, but also you are speaking very clearly and have nice voice!
@umairawan3938
@umairawan3938 3 года назад
Saldina is a great teacher ❤️
@CodeBeauty
@CodeBeauty 3 года назад
Thank you UMAIR AWAN! 💜💜
@Javier-uh7mb
@Javier-uh7mb 3 года назад
someone is in love with their teacher 🙊
@multiplier007
@multiplier007 3 года назад
You have got amazing teaching skills. You are the best than the teachers in university
@CodeBeauty
@CodeBeauty 3 года назад
That is so nice to hear! Thank you very much! 💜
@rudrashiva
@rudrashiva 3 года назад
I had a friend from Celic in Bosnia. You remind me of her. She is a teacher and you both have same personality. Maybe all Bosnian have same charming personality. Anyway your lessons on C++ are great for beginners.
@lukaadamovic8314
@lukaadamovic8314 6 месяцев назад
Thank you very much Saldina. The handing of these exceptions is indeed very very VERY useful and I am truly happy that I have learned so much about this topic. Greetings from Brazil!!!!!!!!!
@carboqaddumi3944
@carboqaddumi3944 3 года назад
this channel single-handedly carried me through my freshman computer engineering year, seriously thank you keep doing this you're great! (:
@kinghadu9611
@kinghadu9611 3 года назад
Saldina I don't know how you get the time to do all these videos but thank you so much for all the help you have given me I am loving programming thanks to your channel. I think a great video you can do would be building a project like one that uses a user made form and a database etc. Any sort of real world application that one would be expected to make when in the field would be awesome!!!! Again thank you so much for your incredible help in sharing your knowledge. I once read a post from a wise person he said that knowledge becomes wealth if it is shared freely but it becomes a weapon when it is kept by selfish people. Thank you for spreading your riches and bettering humanity!!!
@santoshsolanke7300
@santoshsolanke7300 2 года назад
This channel is very perfect for learning C++ in an organic and simple way. she is teaching in very simple method spacially thanks, Mam for providing very helpful knowledge
@denishnatiuk921
@denishnatiuk921 2 года назад
I Just couldn't grasp try catch blocks until this video thank you.
@GlobStats
@GlobStats 2 года назад
I can't thank you enough, you have a great method of explaining.
@manoking9619
@manoking9619 Год назад
Your videos are so good that my professor takes your code and uses it for class lessons! Either that or you both code very similarly.
@ksprakashkumar
@ksprakashkumar Год назад
Hi Saldina, Thanks a lot for your effort in teaching C++. In this example, we can add one more print and demonstrate that fourth print will not get executed when third print got an exception.
@preetichaudhari319
@preetichaudhari319 3 года назад
Hey Saldina! I would really appreciate if you can make a detailed video on Operator Overloading including topics such as Fundamentals of Operator Overloading, Restrictions on Operators Overloading, Operator Functions as Class Members vs. as Friend Functions, Overloading Unary Operators, Overloading Binary Operators, Overloading of operators using friend functions. Thanks!
@lusandamtembu7383
@lusandamtembu7383 10 месяцев назад
yoh, you saved me when i needed you most. thank you for your easy to follow and understand videos
@livedz9206
@livedz9206 3 года назад
Hii love from algeria❤️your teaching skills are awesome
@CodeBeauty
@CodeBeauty 3 года назад
Thanks and welcome! Greetings for Algeria! 💜
@moularaoul643
@moularaoul643 3 года назад
Thank you for all the time you give us!!!
@phutrung3027
@phutrung3027 2 года назад
This tutorial is very helpful for me. By many videos like this, I can learn not only coding but also English learning skill
@virtually2124
@virtually2124 9 дней назад
unbelievable good, better than the book that divides a number by zero to get a throw, try, catch error. In the class chapter of the book, the example list class listing of a program and when it runs it goes "Woof, woof I am a two year old dog and I can wag my tail" and I think, "WHAT !!??, I could have written a program in BASIC to do the same thing."
@CodeBeauty
@CodeBeauty 6 дней назад
if you like my teaching check my Practical Programming Course at www.codebeautyacademy.com We are building real desktop application in C# and you will be learning alongside other students, with me as your personal tutor. With this you will also gain access to exclusive Discord community. I'll be happy to have you there. :)
@rohaannadeem914
@rohaannadeem914 2 года назад
Your teaching way is superb
@phenhlucky
@phenhlucky 3 года назад
Thank you for all the time that you teach us🙏❤️
@yi-chongjiang5639
@yi-chongjiang5639 2 года назад
LOVEEE this video explaining everything I need in detail!! Also love the summary part, it goes through everything again and makes the concept more solid!! thank you so much!
@aleks_mag
@aleks_mag 3 года назад
I like that your have tasks under video. So your make not just video it's very good content for learning.
@CodeBeauty
@CodeBeauty 3 года назад
Yep, I often include small tasks so that my viewers can use them to practice on their own as well. Thanks! 😃😃
@ignaciodelvalle158
@ignaciodelvalle158 Год назад
What I like about his videos is the pace and efficiency of what he explains. A discovery this channel!! It would be nice if you shared the code, although it is true that doing it by hand helps to understand it better.
@aliafzal3029
@aliafzal3029 3 года назад
hey seldena.. U have busy routine but still u spend time on us like making videos for us and share your knowledge with us and i think U r amazing 🙏💜
@CodeBeauty
@CodeBeauty 3 года назад
Thank you so much. the support that I get from this community means a lot to me! You're the best! 💜💜💜 it's Saldina*
@chulbalytwins2450
@chulbalytwins2450 2 года назад
saldina i salute your work you are so much hardworking
@hbm293
@hbm293 3 года назад
One of the important topics in C++, especially when using the STL as almost all of its functions will throw exceptions as soon as they encounter errors.
@CodeBeauty
@CodeBeauty 3 года назад
Indeed, it is very important topic! Thanks for your help with replying the comments in the chat today! 😃💜
@wscamel226
@wscamel226 Год назад
Awesome. Thank you
@4theloveoflife431
@4theloveoflife431 7 месяцев назад
Thank you sooo much. This try catch throw stuff is quite tricky if you first touch it!!,😅
@ДмитрийБузницкий-б3н
Thank you for your lessons, Saldina. You have clear English pronunciation, I like it. My English isn't so good, may be pre-intermediate level, but I understand you. Aside from programming I will study English listening with your lessons :) With love from Russia
@dipenpandit684
@dipenpandit684 2 года назад
it's my OOP exam in 2 days this video was absolutely helpul
@umairawan3938
@umairawan3938 3 года назад
Most awaited!!!
@CodeBeauty
@CodeBeauty 3 года назад
Happy to hear that! ❤️
@xaadadaa
@xaadadaa 3 года назад
best programming channel i learned so much from u
@CodeBeauty
@CodeBeauty 3 года назад
I'm happy to hear that 🙏💙
@marcofe82
@marcofe82 2 года назад
Ciao Saldina, really good explanation about exceptions. I've also appreciated your slow speak, cause in this way every single words is recognizable and it's possible to totally absorb the meaning of the lesson.
@nastaranheidarysharifabadi4648
thank you. Im begginer in cpp and its useful for me.🥰
@senalshamika9426
@senalshamika9426 3 года назад
You are a great teacher saldina
@RobertSurma
@RobertSurma Год назад
Good diction, very clearly explained. Perfect!
@digantachaudhuri
@digantachaudhuri 3 года назад
Subscriber++; Thanks for this video, Nice explanation. ❤️ from India.
@zombiehellmonkeygaming1956
@zombiehellmonkeygaming1956 3 года назад
Thank you for the video, I've learned exception handling already, but I always watch your videos in case I missed something when I first learned it, or you give a better explanation.
@tiantianliu5958
@tiantianliu5958 7 месяцев назад
Great! Keep going code beauty! every interesting training.
@waqarahmad5939
@waqarahmad5939 2 года назад
Wonderful explanation of exceptions. You made it easy.
@jasswrites3195
@jasswrites3195 3 года назад
Never stop making videos, you are doing a great work!!
@rosabeigi
@rosabeigi 2 года назад
I find your content so useful
@danbrown6698
@danbrown6698 2 года назад
You've explained exception quite clear.
@tamarabenjamin9089
@tamarabenjamin9089 3 года назад
My favorite youtube teacher for C++.
@mose999
@mose999 Год назад
I summerize a point which may be easily overlooked: in 12:39 you must use "a pointer" as the parameter , so if you throw a "string type var" , you use the const char * ,because we need a pointer,however,"string" doesn't have pointer and "char" do.And string is actually a "char"
@nastaranhendijani681
@nastaranhendijani681 6 месяцев назад
Thank you for your videos, I like them very much! very helpful!
@selenahurloi5876
@selenahurloi5876 2 года назад
you are so good at explaining, i love watching your videos and hopefully i will also pass the exam!!
@muhammetkaplan8869
@muhammetkaplan8869 3 года назад
You are a perfect detail in this world :D keep going, as a nonnative English speaker I found your speaking is very simple but at the same time understandable perfectly :D
@smokinjoe9415
@smokinjoe9415 Год назад
One problem with most of your tutorials, including this one, is that you should also point out flaws in your example code. The biggest flaw and easiest to explain is that in your example code, you should be passing the strings as const references instead of passing them in by value which causes huge performance problems due to all the unneeded string copies. For example your ctor should have const string &name instead of just 'string name' (bad performance hit). Same with print. and since you aren't modifying the strings passed in, make them const. Doing this will help create less newbies running around creating bad code. There are many other improvements that would make your code better and production quality, but in a beginner tutorial that is not a good idea - but using references instead of by value when possible is something a newbie should learn day one.
@tomastank1030
@tomastank1030 Год назад
That's exactly what I was thinking too. Passing a very large document by value will use up stack space so best pass a pointer or reference to the string document which is really passing an address to the document string. 👍
@learningprogram5288
@learningprogram5288 2 года назад
Awesome. this is what i have been looking for. implementation on the topic and clear explanation.
@monilcharola6873
@monilcharola6873 2 года назад
Thank You !! Kudos to your good work !
@atvuduy9238
@atvuduy9238 3 года назад
Very good. I come from VietNam. I learn both English and C++
@MrNYT
@MrNYT 3 года назад
This vedio I really all the time which I want 🙏 thank mam
@charlesmaganga8430
@charlesmaganga8430 2 года назад
Much appreciation
@pranitkharat621
@pranitkharat621 3 года назад
I am from India, mam ur awesome 🙌
@samael2187
@samael2187 3 года назад
Amazing video you just helped me add exceptions to my final project thnx a lot
@robbyrepublic
@robbyrepublic Месяц назад
Great job with explanations.
@CodeBeauty
@CodeBeauty Месяц назад
🚀🥰
@amosreginaldjr.4200
@amosreginaldjr.4200 3 года назад
C++ is beautiful when you understand it!
@malikmuhammadarslan9993
@malikmuhammadarslan9993 2 года назад
You are Such a Legend please make C# videos
@guaicaipurouzumaki7654
@guaicaipurouzumaki7654 2 года назад
cool explain about handling errors in c++
@Hiyori___
@Hiyori___ 3 года назад
Amazing teacher, thank you
@charanp7963
@charanp7963 4 месяца назад
you really are amazing ma'am, keep up the great work, love from INDIA
@CodeBeauty
@CodeBeauty 4 месяца назад
🥰🥰
@neepunpatil5201
@neepunpatil5201 3 года назад
Waiting!!!!!
@CodeBeauty
@CodeBeauty 3 года назад
😃💜
@rimaben438
@rimaben438 2 года назад
Thanks a lot Saldina I am beginner in C++ I understand with more then my teacher i wrote all his exemples but when I compile gives errors
@christiancarter255
@christiancarter255 Год назад
Advantages of using error handling methods over only using if-then statements?
@shaikhshehzad024
@shaikhshehzad024 Месяц назад
Maybe for readability and you won't need to put a special return value for function in case you want to handle error.
@charlesschmidt4272
@charlesschmidt4272 2 года назад
Very good concise introduction. Small point: there's a bug. Documents shorter than 10 characters will print without reducing the amount of available paper.
@kuldeeprane1469
@kuldeeprane1469 3 года назад
Can you make video on projects we should include in our resume as a fresher
@fnati02
@fnati02 10 месяцев назад
hey!! first thank you for the video!! i would like to know when i use the default catch(...) how can i pass an argument to print the message?
@papiermuecke7626
@papiermuecke7626 3 года назад
I subscribed your channel because you explain so many c++ functions that i have never learned in my study! Also its very easy for me to understand everything because your english is so fluent! :-) It would be interresting, if it's possible to put parameters into default catch functions instead of these "...". Thank you very much! Love from Germany!
@CodeBeauty
@CodeBeauty 3 года назад
There is no need for parameters in default catch, because it will catch any unhanded exception 🤗🤗
@CodeBeauty
@CodeBeauty 3 года назад
regardless of its type 😃
@aleksandarsherbula2081
@aleksandarsherbula2081 3 года назад
Pozdrav iz Srbije. Video je bez error-a. :D
@CodeBeauty
@CodeBeauty 3 года назад
Pozdrav za 🇷🇸 🤗❤️❤️
@astudent797
@astudent797 3 года назад
Please make video on python I'm having a great time in learning c++ through your awesome video!.
@johnb7146
@johnb7146 3 года назад
But it's not a Python channel...
@bahibrahim101
@bahibrahim101 2 года назад
You should've covere custom exceptions they are the interesting part
@HazemAbdElhamid-ey9sy
@HazemAbdElhamid-ey9sy 2 месяца назад
So clear...Thanks.
@smokinjoe9415
@smokinjoe9415 Год назад
Another VERY important thing to teach newbies about exceptions, DO NOT USE THEM TO REPLACE REGULAR ERROR HANDLING!!!!!!!!!!!!!!!!!!!!!!!!!!! Exceptions have overhead due to stack unwinding and other things, they are NOT meant to replace errors such as running out of printer paper, you should return errors (int or a bool for example) to indicate failed status. An exception would be an I/O error with the printer, that should be an exception of course, but not running out of paper or ink. If I was reading a file, a READ ERROR would be an exception, but if they format of the data we read is not as expected (for example you are trying to read a JPEG file and it isn't JPEG format) this is NOT an exception, it should be handled as an error. I emphasize this because exception handing gets a bad reputation for performance, and that is only because numbskulls are using it as a replacement for error handing which is bad. An EXCEPTION is something that is out of the users control. A good used for exceptions is lets say you are reading a structured file format and need to read ints, shorts, chars, etc. Instead of checking each read, put them in a try block and catch them. This can actually boost performance because instead of checking lets say 5 I/O calls, you can do no tests and handle the exception. For example: try { read a short read a char read a long read a short read a char } catch(...) { } if the short/char/long or whatever is NOT the format you expected return an error code indicating that the file is not the correct format. That generates much tigher code than: read a short if the read failed, return an error read a char if the read failed, return an error etc... See we have all the silly IF statements. That creates code that is not cache friendly and has overhead. But in the try/catch, it generates code with less overhead. If we end up in the catch block, we know that either the file is not what we expected or there was an I/O failure, so we cleanup and close the file, then return an error. If we did not get an exception, we examine the values we read to determine if for example it was a JPEG, if it is, then we continue to read the data now that the header is processed. That is a more professional (and faster/optimized code) than simply treating exception handing as a replacement for error such as "Not a JPEG", exceptions should be EXCEPTIONAL conditions. ANOTHER VERY IMPORTANT THING: NEVER throw any exceptions from a destructor for example. Speaking of IO, by default things such as streams and such throw by default, fclose() can also throw (failed to write out buffers), so be very careful in destructors. You can disable throwing with I/O if you want to handle the errors manually. Bottom line: This is C++, not some high level python code where you simply write trash code and ignore errors (ever wonder why many apps/games just crash? that is why, it was made by an amateur or lazy programmer. C++ code is very fast and optimal if used correctly, and if used correctly exception handling can actually improve your code (just as I showed by eliminating a bunch of branches that create cache unfriendly code), but it is NOT meant to replace general error handling.
@virtually2124
@virtually2124 9 дней назад
In my C / C++ classes as a student, I did a sort numbers into order using what I just leaned on "recursion function" without using a temp int., when it goes through the list and does not do a swap, it breaks out the calling itself cycle. Post school days maybe I could have tried classes to do, Ascending, Descending order, and maybe to really tax the brain, the same order of the telephone book (but with numbers not character string the book uses), that would in a order like 1, 10 150, 23 230, 3, ...............up to 9??? order. Then someone from a C / C++ email group said, try this out x^= y^= x^ = y^ = x ( ^ is exclusive or ) that does not need a temp int
@hemersonallan
@hemersonallan Год назад
Awesome ! Thank You !
@astudent797
@astudent797 3 года назад
Could you please refer a open book pdf of c++ for better learning of programming
@moisesnapoles2153
@moisesnapoles2153 3 года назад
GREAT! 🤩
@CodeBeauty
@CodeBeauty 3 года назад
Thanks! 😄
@ramtodkar1681
@ramtodkar1681 2 года назад
You have great skill explain concept 😉
@mrshaders5269
@mrshaders5269 2 года назад
Great Work
@broadbandmax
@broadbandmax 2 месяца назад
Not sure if already asked, how to does the exception work when propogating through a call stack?
@ksanavengsar4050
@ksanavengsar4050 Год назад
thank you so much for this video 🤗
@ilogicCeeJr
@ilogicCeeJr Год назад
@18:22 I'm curious how you were able to comment out the code all at once. Is there a shortcut?
@christiancarter255
@christiancarter255 Год назад
CTRL + K + C
@VoidloniXaarii
@VoidloniXaarii 2 месяца назад
Thank you so much yet again
@johnsknows3135
@johnsknows3135 Год назад
thank you kindly!
@roshankarki2456
@roshankarki2456 3 года назад
nice
@CodeBeauty
@CodeBeauty 3 года назад
💜
@AhmedRaza-ty7zq
@AhmedRaza-ty7zq 8 месяцев назад
Awesome video😎😎👍👍
@danielh.4265
@danielh.4265 2 года назад
@codebeauty I really like your way of explaining programming, approaches and the language C++ itself. Unfortunately this video is showing how exceptions should not be used. Well, I've seen this a lot, so I think it's a general problem. Why? Well it's called "exception" not "error code". If your virtual printer is running out of paper it's not exceptional behavior but normal behavior. It can happen. So we should treat it that way. So returning an error code or better a structured error is the better implementation. This way the caller can also react in a proper, "normal" way. IMHO, here is what Exceptions are for. A type should raise an exception if its methods are called in a way so that they cannot work properly. Means the requirements of the methods parameters are not met. For your example, if a caller is trying to use the Print-method and the txtDoc parameter is null, line 14 would automatically raise an exception. Why is that? Well since txtDoc is not instantiated, the length method cannot be called. The minimal requirements of the Print-method are not fulfilled. Well of course there is already an implicit exception which is thrown, but it's cryptic and the caller needs to know your code to understand that calling .length is failing because he is passing null to your method. With an explicit exception, means " if (string.IsNullOrWhiteSpace(txtDoc)) throw new ArgumentNullException("Null is not allowed."); " this is not the case. Your API is much more robust and understandable. Plus your implementation can be seen as a blackbox which is always good. Anyway, keep up your good work. 👍
@chronologie2895
@chronologie2895 3 года назад
I have a finished C ++ course in sololearn, could you give me a list of things that I must know to be a C ++ dev? I not sure if need learn more
@michalegierski4337
@michalegierski4337 3 года назад
I don't know whether you have already mentioned that in previous videos, but it would be worth to say, that integer division in C++ is always rounded down and because of that, in line where you calculate the required amount of paper, you should explicitly round the result up. BTW great video.
@dukathneu
@dukathneu 2 года назад
This is only an example. This is not about printing but about Exception handling. Nobody cares about math here or should.
@adrienc8716
@adrienc8716 2 месяца назад
I like your videos. It's very clear :)
@CodeBeauty
@CodeBeauty 2 месяца назад
I'm happy to hear that 🥰
@KarinaGarcia-tk5re
@KarinaGarcia-tk5re Год назад
TE AMO ,,, THANKS FOR TEACHING C++
@Ferenc-Racz
@Ferenc-Racz 3 года назад
And don't forget about RAII as a finally block :)
@ahmadmahdi2245
@ahmadmahdi2245 2 года назад
Amazing!
@malatini_ytb
@malatini_ytb 2 года назад
Thank you so much !!
Далее
SMART POINTERS in C++ (for beginners in 20 minutes)
24:32
Exception Handling | C++ Tutorial
14:49
Просмотров 18 тыс.
What is Mutex in C++ (Multithreading for Beginners)
12:29