func processFile() error {
    try {
        ptr := getPtr(fromSomeObject)        
        
	filePtr, ok := (any)(ptr).(*MyFile)
        header, err := header.Read(filePtr)
        data, err := data.Read(filePtr)
		
 	a, errA := operationA()
    	b, errB := operationB()
    	c, errC := operationC()
    
		// catch в любом порядке
		catch errA, errB, errC  {
			return fmt.Errorf("processFile operation error")
		}
		catch err {
			switch  {
			case errors.Is(err, header.ErrorCRC):
				log.Printf("Header err")
			case errors.Is(err, data.ErrorCRC):				
				log.Printf("Deader err")
			default:				
				return fmt.Errorf("processFile file error: %w", err)
			}        
			return fmt.Errorf("processFile file error: %w", err)
    	        }
                catchif !ok {
			panic("ptr is`nt MyFile")	            
                }        
		catchif ptr == nil {
			panic("nil ptr")	
		}
    }
    return err             
}


    
      Ответ на:
      
          комментарий
        от ergo 
  
    
      Ответ на:
      
          комментарий
        от pineapple 
  


    
      Ответ на:
      
          комментарий
        от LongLiveUbuntu 
  
    
      Ответ на:
      
          комментарий
        от LongLiveUbuntu 
  

    
      Ответ на:
      
          комментарий
        от pineapple 
  



    
      Ответ на:
      
          комментарий
        от LongLiveUbuntu 
  
    
      Ответ на:
      
          комментарий
        от vbr 
  
    
      Ответ на:
      
          комментарий
        от alnkapa 
  
    
      Ответ на:
      
          комментарий
        от vbr 
  
    
      Ответ на:
      
          комментарий
        от vbr 
  
    
      Ответ на:
      
          комментарий
        от alnkapa 
  
    
      Ответ на:
      
          комментарий
        от alnkapa 
  
    
      Ответ на:
      
          комментарий
        от vbr 
  
    
      Ответ на:
      
          комментарий
        от No 
  

    
      Ответ на:
      
          комментарий
        от beastie 
  
    
      Ответ на:
      
          комментарий
        от LongLiveUbuntu 
  
    
      Ответ на:
      
          комментарий
        от Lrrr 
  

    
      Ответ на:
      
          комментарий
        от vbr 
  


    
      Ответ на:
      
          комментарий
        от LongLiveUbuntu 
  
    
      Ответ на:
      
          комментарий
        от bdrbt 
  
    
      Ответ на:
      
          комментарий
        от Toxo2 
  
    
      Ответ на:
      
          комментарий
        от beastie 
  

    
      Ответ на:
      
          комментарий
        от xDShot 
  

    
      Ответ на:
      
          комментарий
        от fpastush 
  
    
        Для того чтобы оставить комментарий войдите или зарегистрируйтесь.
      
Похожие темы
- Форум Как записать переменную attr в файл в terraform-provider-virtualbox ? (2019)
- Форум Go: переменные в рекурсивных функциях (2018)
- Форум Go2 draft: generics, error handling & error values (2018)
- Форум Все AI сломали зубы о написание парсера Brainfuck'а от Cloudflare (2025)
- Форум golang, psql, pgbouncer (2017)
- Форум Какой выдумать или создать формат для конфигов? (2019)
- Форум go, hide pass (2019)
- Форум Инфа для Гоши (2022)
- Форум Как правильно организовать код на Go (2019)
- Форум Golang c-shared библиотека (2018)