Handling BindException in Java

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*;import*;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 HandleBindExceptionBindException: Address already in use: JVM_BindsecondServerSocket is null. Further handling necessary.*/


Share the Post: