Is it a good practice to catch all exceptions and re-throw them as a particular type of exception in terms of classification?
Is it a good practice to catch all exceptions and re-throw them as a specific type -basically to classify all the exceptions thrown from a particular part (or service) of an application?

Something like:

    //  This class is used to label all the exceptions occured on 
    // Race Cars Service calls as RaceCarsServiceException
    public class RaceCarsServiceException : Exception
    {
        
     public class RaceCarsServiceException (Exception e) 
                   : base("Something went wrong!", e)
      {
         // Basically I assign the exception e as the inner exception 
         //by using the constructor method of Exception class
      }
    
    }
    
    public class RaceCarsService
    {

    // Some member fields, methods etc. here

     public double GetMaxSpeed(CarModel model)
     {
       try 
         {
           return (double)_carsWebService.GetMaxSpeed(model.ToString());
         }
      
       catch(Exception e)
         {
           throw new RaceCarsServiceException(e); // So all exceptions are rethrown 
                                               //as type of RaceCarsServiceException
         }
     }
    }
Is it a good practice to catch all exceptions and re-throw them as a particular type of exception in terms of classification?
===

Is it a good practice to catch all exceptions and re-throw them as a specific type -basically to classify all the exceptions thrown from a particular part (or service) of an application?

Something like:

    //  This class is used to label all the exceptions occured on 
    // Race Cars Service calls as RaceCarsServiceException
    public class RaceCarsServiceException : Exception
    {
        
     public class RaceCarsServiceException (Exception e) 
                   : base("Something went wrong!", e)
      {
         // Basically I assign the exception e as the inner exception 
         //by using the constructor method of Exception class
      }
    
    }
    
    public class RaceCarsService
    {

    // Some member fields, methods etc. here

     public double GetMaxSpeed(CarModel model)
     {
       try 
         {
           return (double)_carsWebService.GetMaxSpeed(model.ToString());
         }
      
       catch(Exception e)
         {
           throw new RaceCarsServiceException(e); // So all exceptions are rethrown 
                                               //as type of RaceCarsServiceException
         }
     }
    }