Обработка ошибок с помощью try catch в обработке исключений java

#java #spring #exception #error-handling #nullpointerexception

#Ява #весна #исключение #обработка ошибок #исключение nullpointerexception

Вопрос:

у меня есть этот код, и мне нужно задать вопрос :

демонстрация публичного класса {

 public static void main(String[] args) throws ProtocolException{     Protocol ssh = Connection.getInstance(ConnectionType.SSH);  Protocol ssh2 = Connection.getInstance(ConnectionType.SSH);  Protocol telnet = Connection.getInstance(ConnectionType.TELNET);  Protocol scp = Connection.getInstance(ConnectionType.SCP);  Protocol ftp = Connection.getInstance(ConnectionType.FTP);      if(ssh == ssh2) {  System.out.println(" ssh is equal to ssh2");  }  ssh.send(" testing ssh ");  telnet.send("Testing telnet ");  scp.send("Testing scp");      System.out.println(Connection.getCurrentConnections());  Connection.release(ConnectionType.SSH);  System.out.println(Connection.getCurrentConnections());    ftp = Connection.getInstance(ConnectionType.FTP);  System.out.println(Connection.getCurrentConnections());      ssh = Connection.getInstance(ConnectionType.SSH);  ftp = Connection.getInstance(ConnectionType.FTP);  ftp = Connection.getInstance(ConnectionType.FTP);    ftp = Connection.getInstance(ConnectionType.FTP);  ftp.send("Testing FTP");  Connection.release(ConnectionType.FTP);    Protocol tftp = Connection.getInstance(ConnectionType.TFTP);  Protocol tftp2 = Connection.getInstance(ConnectionType.TFTP);  System.out.println(Connection.getCurrentConnections());  if(tftp == tftp2 ) {  System.out.println("Same object");  }  tftp.send("test the TFTP ");  tftp2.send("test the TFTP ");   //ftp = Ftp.getInsatnce();  ///Connection.release(ConnectionType.TFTP);  System.out.println(Connection.getCurrentConnections());//3  if(ftp == null) {  System.out.println("FTP is a null");  } else {  System.out.println("FTP is not a null");  }  ftp.send(" breaking the logic ");     }  

реализации функций :

getInstance(String connectionProtocol): создайте новый объект, если для данного типа не создан объект, в противном случае верните текущий объект для данного протокола.

релиз(протокол подключения): попытается уничтожить соединение для данного протокола.

getCurrentConnections: возвращает список всех текущих созданных подключений.

отправить(строковое сообщение): Напечатает сообщение, как показано ниже

и мне нужно обрабатывать ошибки с помощью обработки исключений :

каковы 2 лучших способа обработки этих ошибок? ps: Я создаю этот класс для того, чтобы решить его :

 public interface Protocol {    //Connection is already released  //Unable to release the connection   //connection is use    public boolean release() throws ProtocolException;    //No connection  //timeout connection  public void send(String message) throws ProtocolException;  }  

I did smth like that :

 //Connection is already released    try {  Connection.release(ConnectionType.SSH);  } catch (NullPointerException nullPointerException) {  System.err.println(nullPointerException.getMessage());  System.err.println("connection is already realeased ");    }  

но я думаю, что это неправда .. есть идеи или помощь в реализации этой концепции ?