Mastering Java Exceptions with Best Practices
4.2 (22 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
189 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Mastering Java Exceptions with Best Practices to your Wishlist.

Add to Wishlist

Mastering Java Exceptions with Best Practices

This highly practical course will teach you the right tools & best practices for building robust software programs.
4.2 (22 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
189 students enrolled
Created by Dheeru Mundluru
Last updated 6/2017
Current price: $10 Original price: $30 Discount: 67% off
30-Day Money-Back Guarantee
  • 3 hours on-demand video
  • 2 Articles
  • 32 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Get an in-depth understanding of Java exceptions mechanism
  • Implement Java exceptions in the most effective way using best practices
View Curriculum
  • Students need to have a basic working knowledge of Java

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.

Teaching Style:

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.

Course Structure:

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!!

Who is the target audience?
  • Students who know Java, but do not know anything about Java exceptions
  • Students who know about Java exceptions, but are still not clear about them entirely!
  • Students who know about Java exceptions well, but do not know/understand the best practices for using them
Curriculum For This Course
21 Lectures
Course Introduction
1 Lecture 05:15
17 Lectures 02:21:39
Chapter Introduction ~ Motivation & Agenda

A Quick Note on the Mini Project

Demo: Exceptions & Exception Handling

Demo: Multiple Exceptions & Polymorphically Referencing Exceptions!!

Checked & Unchecked Exceptions + Demo

Demo: Generating OutOfMemoryError & Fixing It

Exceptions & Method Overriding

try-with-resources Statement + Demo

Demo: Suppressed Exceptions

Demo - Best Practices: Creating New Exceptions

Demo - Best Practices for Capturing Failure Information (Item 63)

Demo - Best Practice: Throwing Exceptions Appropriate to Abstraction

Exceptions: Some More Best Practices ...


Demo: Assertions

Conclusion - A Quick Summary

7 questions
Bonus Lessons
3 Lectures 36:44
Note on Follow Up Lessons on Debugging & JUnit Testing

Using Eclipse Debugger

JUnit & Debugging
About the Instructor
Dheeru Mundluru
4.5 Average rating
1,061 Reviews
5,186 Students
3 Courses
PhD, CTO & Principal Instructor at Semantic Square

A passionate software engineer and instructor, Dheeru has around 15 years of experience developing innovative software for start-ups in silicon valley and elsewhere. He is considered as one of the top instructors on Udemy and has reached out to thousands of students from over 100 countries. 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, coding exercises that are auto-evaluated and several quizzes. Prior to his current gig at his start-up Semantic Square, 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.