Fleek IT Solutions

Fleek IT Solutions

Guest

  Throws vs Throwable in Java Explained (70 views)

20 Aug 2025 13:39

<p style="padding: 0px; margin: 0px 0px 1.4em; box-sizing: border-box; overflow-wrap: break-word; color: #333333; font-family: 'Noto Serif JP', sans-serif; font-size: 16px; background-color: #fefefe;">Hey everyone,

<p style="padding: 0px; margin: 0px 0px 1.4em; box-sizing: border-box; overflow-wrap: break-word; color: #333333; font-family: 'Noto Serif JP', sans-serif; font-size: 16px; background-color: #fefefe;">I often see confusion around Java exception handling, especially when it comes to the difference between throws and Throwable. As part of a leading software testing company, we regularly deal with error handling and exception testing in different projects, so I thought I&rsquo;d share some insights.

<p style="padding: 0px; margin: 0px 0px 1.4em; box-sizing: border-box; overflow-wrap: break-word; color: #333333; font-family: 'Noto Serif JP', sans-serif; font-size: 16px; background-color: #fefefe;">throws &rarr; Used in method declarations to specify which exceptions might be thrown. It&rsquo;s basically a way to alert the compiler and developers that a method can cause certain exceptions.

<p style="padding: 0px; margin: 0px 0px 1.4em; box-sizing: border-box; overflow-wrap: break-word; color: #333333; font-family: 'Noto Serif JP', sans-serif; font-size: 16px; background-color: #fefefe;">Throwable &rarr; This is the superclass of all exceptions and errors in Java. Both Exception and Error extend Throwable.

<p style="padding: 0px; margin: 0px 0px 1.4em; box-sizing: border-box; overflow-wrap: break-word; color: #333333; font-family: 'Noto Serif JP', sans-serif; font-size: 16px; background-color: #fefefe;">In short:

<p style="padding: 0px; margin: 0px 0px 1.4em; box-sizing: border-box; overflow-wrap: break-word; color: #333333; font-family: 'Noto Serif JP', sans-serif; font-size: 16px; background-color: #fefefe;">throws = a keyword that declares exceptions.

<p style="padding: 0px; margin: 0px 0px 1.4em; box-sizing: border-box; overflow-wrap: break-word; color: #333333; font-family: 'Noto Serif JP', sans-serif; font-size: 16px; background-color: #fefefe;">Throwable = the root class for all exceptions and errors.

<p style="padding: 0px; margin: 0px 0px 1.4em; box-sizing: border-box; overflow-wrap: break-word; color: #333333; font-family: 'Noto Serif JP', sans-serif; font-size: 16px; background-color: #fefefe;">This distinction is crucial for writing stable, bug-free applications and for creating effective software testing strategies.

<p style="padding: 0px; margin: 0px 0px 1.4em; box-sizing: border-box; overflow-wrap: break-word; color: #333333; font-family: 'Noto Serif JP', sans-serif; font-size: 16px; background-color: #fefefe;">We recently published a detailed article on this topic with code examples and practical explanations. If you want to dive deeper, you can check it out here:<br style="padding: 0px; margin: 0px; box-sizing: border-box; overflow-wrap: break-word;" />https://fleekitsolutions.com/difference-between-throws-and-throwable/<br style="padding: 0px; margin: 0px; box-sizing: border-box; overflow-wrap: break-word;" />Would love to hear your thoughts &mdash; how do you usually explain this concept to junior developers or testers on your team?

<p style="padding: 0px; margin: 0px 0px 1.4em; box-sizing: border-box; overflow-wrap: break-word; color: #333333; font-family: 'Noto Serif JP', sans-serif; font-size: 16px; background-color: #fefefe;">&mdash; Fleek IT Solutions (Software Testing Company)

Fleek IT Solutions

Fleek IT Solutions

Guest

This website uses cookies for best user experience, to find out more you can go to our Privacy Policy  and  Cookies Policy