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:
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:
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!!
A passionate software engineer and instructor, Dheeru has 10 years of experience developing innovative software for start-ups in silicon valley and elsewhere. He holds a Ph.D. in Computer Science from University of Louisiana at Lafayette (USA). His expertise includes developing complex Web data integration & mining software with Java as the main programming language. Coming from the start-up world, he also has extensive end-to-end experience in developing Web applications using frameworks/tools such as Spring, Hibernate, Solr, MySql, etc. Dheeru is passionate about developing products that are easy-to-use, intelligent, and well-architected. Writing well-crafted code that follows the best design practices is of utmost importance to him. He brings the same level of passion and completeness to his teaching. Every concept is covered at a very in-depth level clearly explaining the motivation behind their introduction. He strongly believes in "learn by involving" teaching principle and thus his courses involve tons of live demos, an industry standard project, and several quizzes. Prior to his current gig at his start-up SemanticSquare, Dheeru worked for around 5 years as a Principal Engineer for NimbleCommerce, an e-commerce start-up in Santa Clara, California. Before NimbleCommerce, he worked as a Research Scientist at Local Corporation, a local search company in Irvine, California. He also published and presented half-a-dozen research papers at top conferences and workshops such as International Conference on Data Mining (ICDM) and Geographic Information Retrieval (GIR). During his graduate-school days, as a teaching assistant for Search & Data Mining courses, he designed course assignments and often gave guest lectures on Web data mining.