Exception Restrictions when Overriding

Exception Restrictions when Overriding

When you extend a class and override a method, Java insists that the new method cannot be declared as throwing checked exceptions of classes other than those that were declared by the original method (in the base class). It may, however, throw exceptions derived from the base-class exceptions. This is a useful restriction, since it means that code that works with the base class will automatically work with any object derived from the base class (a fundamental OOP concept, of course), including exceptions.

This example demonstrates the kinds of restrictions imposed (at compile-time) for exceptions:

 public class Base {   public void f() throws IOException {   }}public class LegalOne extends Base {   public void f() throws IOException {   /* Overridden method throws the same _exception as in the base-classversion, hence legal. */   }}public class LegalTwo extends Base {   public void f() throws IOException, _MalformedURLException {   /* MalformedURLException is derived from _IOException, hence it is legalto throw this exception in f(). */   }}public class IllegalOne extends Base   public void f() throws IOException, _IllegalAccessException {   /* IllegalAccessException is not derived _from IOException; in fact, itis the super class of IOException. Hence this _method declaration isillegal, since overridden methods can only throw _either the base-classexceptions or exceptions derived from the base-class _exceptions. */   }}public class IllegalTwo extends Base   public void f() throws Exception {   /* Exception is the super-class of IOException, _hence illegal, asexplained above. */   }}
Share the Post:
Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular

XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved

AI is revolutionizing fraud detection

How AI is Revolutionizing Fraud Detection

Artificial intelligence – commonly known as AI – means a form of technology with multiple uses. As a result, it has become extremely valuable to a number of businesses across

AI innovation

Companies Leading AI Innovation in 2023

Artificial intelligence (AI) has been transforming industries and revolutionizing business operations. AI’s potential to enhance efficiency and productivity has become crucial to many businesses. As we move into 2023, several

data fivetran pricing

Fivetran Pricing Explained

One of the biggest trends of the 21st century is the massive surge in analytics. Analytics is the process of utilizing data to drive future decision-making. With so much of

kubernetes logging

Kubernetes Logging: What You Need to Know

Kubernetes from Google is one of the most popular open-source and free container management solutions made to make managing and deploying applications easier. It has a solid architecture that makes