Home » Tip Bank » Java
  • Comment on this Article
Language: Java
Expertise: Intermediate
Nov 18, 2019

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


Watch

Handling BindException in Java

Port BindExceptions can occur if a port is already occupied by some other process and you try to use it again.

Below is a simple example that demonstrates this and the mechanisms involved.

import java.net.*;
import java.io.*;

public class HandleBindException
{
   public static void main(String args[])
   {
      HandleBindException handleBindException = new HandleBindException();
      handleBindException.proceed();
   }
   
   private void proceed(){
      final int BINDING_PORT = 5666 ;
      ServerSocket firstServerSocket = null, secondServerSocket = null;
      try {
         firstServerSocket = new ServerSocket(BINDING_PORT);
         secondServerSocket = new ServerSocket(BINDING_PORT);
      } catch (BindException e) {
         System.out.println("BindException: " + e);
         if (firstServerSocket == null)
         {
            System.out.println("firstServerSocket is null. Further handling necessary.");
         }
         if (secondServerSocket == null)
         {
            System.out.println("secondServerSocket is null. Further handling necessary.");
         }
      } catch (IOException ioe) {
         System.out.println("IOException: " + ioe);
      }
   }
}

/*

Expected output:

[root@mypc]# java HandleBindException
BindException: java.net.BindException: Address already in use: JVM_Bind
secondServerSocket is null. Further handling necessary.

*/
M S Sridhar
 
Submit a Tip
Browse "Java" Tips
Browse All Tips
sitepoint.com
activatejavascript.org