Exceptions are Objects

Exceptions are Objects

When a class designer believes that an exceptional condition is recoverable, the checked exception should be thrown. But, many programmers (and I am guilty of this as well) tend to forget that an Exception is an object, and thus its subclasses can have additional states/behaviors added to them. In most cases, Exceptions are thought of as just wrappers around messages that describe what went wrong.

However, exceptions can do more?and in the case of checked exceptions, they should do more. Since checked exceptions expect the caller to recover from exceptional conditions, they should provide information through additional fields/methods that the caller can use for that recovery.

For instance, say you have a method that builds a request object based on some byte sequence received from communication port:

 	public Request getFromBytes(byte[] bytes)	  throws InvalidMessageLengthException {...}

You throw a checked exception, because you expect the caller to recover from the situation by reading additional bytes from the communication channel.In order to provide the caller with more information, your exception might look like this:

 class InvalidMessageLengthException  extends Exception{...  public int expectedLength() {...}  public int actualLength() {...}}

By calling the methods of the caught exception, the caller will know how many more bytes to read from the communication channel before attempting to call the method again.

Share the Post:
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

ransomware cyber attack

Why Is Ransomware Such a Major Threat?

One of the most significant cyber threats faced by modern organizations is a ransomware attack. Ransomware attacks have grown in both sophistication and frequency over the past few years, forcing

data dictionary

Tools You Need to Make a Data Dictionary

Data dictionaries are crucial for organizations of all sizes that deal with large amounts of data. they are centralized repositories of all the data in organizations, including metadata such as