Note: You don't have to register for this course if you have already registered for my comprehensive Java course ~ Java In-Depth: Become a Complete Java Engineer!. The Java course includes all the content that is covered in this course.
Building reliable software is not just about understanding how Java exceptions work, but to also understand how to use them in the right way. So, it is more than learning Java exceptions as a language feature and that is what this course aims to teach. This intensely practical specialized course has been designed with following objectives:
- To give you a complete understanding of the Java exceptions mechanism
- To teach the best practices & idioms for effectively writing Java exceptions
Exceptions are almost always covered as a short chapter/topic (typically 30 - 45 minutes) in a larger Java course and they only cover the basics of Java exceptions. This may suffice most of the times. But to build truly robust software that can withstand test of times and also help you to quickly identify and debug any bugs, you would need to have a more solid understanding of exceptions and how to use them effectively. Through the above objectives, this course aims to give you that kind of a solid foundation in just about 3 hours of time.
All the topics will be covered by writing code. Sometimes, the topics are first explained in slide format for better clarity and then will be demonstrated in code. Most of the code is based on a single concept of sharing data with a partner in a programmatic way. The code will be built gradually with each discussed topic. Every lesson that includes a demo will also come with downloadable code that was implemented in that lesson. You may have to change the file extension to .java for running the downloaded programs. Everything is demonstrated in Eclipse IDE.
Some lessons have additional supplementary notes, which can be downloaded from the resources section of each lesson.
We first cover all the exception-related language features following which best practices are discussed. Following are most of the language features covered:
- try/catch/finally & throw/throws
- checked vs unchecked exceptions
- try-with-resources statement & suppressed exceptions
- assertions (discussed after best practices)
As for the best practices & idioms go, we discuss in code all exception-related principles outlined in the popular Effective Java book. This is one of the highlights of the course and will make you truly complete!
There is also a bonus chapter where we demonstrate how to debug Java programs in Eclipse and also how to use JUnit unit testing framework.
The course also ends with a carefully crafted quiz to validate what you have learnt.
Instructor & His Motivation for Creating this Course:
I have over 10 years of experience in Java developing products for start-ups in silicon valley and elsewhere. Fortunately, I also had the opportunity to design & implement few critical data integration software components where exceptions had a very important role to play. By implementing a good exception handling mechanism that followed proper idioms & best practice rules, we were able to handle many serious issues. While we were aware of some of the idioms, we also had to learn some on-the-go, which required some code refactoring. And we also missed out on some due to lack of knowledge about them. Part of the reason was that we were never exposed to these best practices & rules when we first learned Java (or Java Exceptions) through some course/book. So, learning best practices & rules would have to be a separate endeavor, which sometimes may never happen due to various reasons (time is one of them). I realized that it is entirely possible to teach both fundamentals & many of the advanced concepts like best practices in a single comprehensive course. So, this course is a result of that realization where a more holistic approach is taken to teach concepts.
Building this course itself has been a wonderful journey for me and I hope you will also find this course to be equally enriching & useful. I will continue to devote myself in building this course. Always, feel free to message me if you have any questions and I promise to address them as quickly as I can. Also, don't forget to leave a review (good or bad) as it helps me and other prospective students. Thanks!!