error.go raw

   1  // Copyright 2016 Unknwon
   2  //
   3  // Licensed under the Apache License, Version 2.0 (the "License"): you may
   4  // not use this file except in compliance with the License. You may obtain
   5  // a copy of the License at
   6  //
   7  //     http://www.apache.org/licenses/LICENSE-2.0
   8  //
   9  // Unless required by applicable law or agreed to in writing, software
  10  // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  11  // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  12  // License for the specific language governing permissions and limitations
  13  // under the License.
  14  
  15  package ini
  16  
  17  import (
  18  	"fmt"
  19  )
  20  
  21  // ErrDelimiterNotFound indicates the error type of no delimiter is found which there should be one.
  22  type ErrDelimiterNotFound struct {
  23  	Line string
  24  }
  25  
  26  // IsErrDelimiterNotFound returns true if the given error is an instance of ErrDelimiterNotFound.
  27  func IsErrDelimiterNotFound(err error) bool {
  28  	_, ok := err.(ErrDelimiterNotFound)
  29  	return ok
  30  }
  31  
  32  func (err ErrDelimiterNotFound) Error() string {
  33  	return fmt.Sprintf("key-value delimiter not found: %s", err.Line)
  34  }
  35  
  36  // ErrEmptyKeyName indicates the error type of no key name is found which there should be one.
  37  type ErrEmptyKeyName struct {
  38  	Line string
  39  }
  40  
  41  // IsErrEmptyKeyName returns true if the given error is an instance of ErrEmptyKeyName.
  42  func IsErrEmptyKeyName(err error) bool {
  43  	_, ok := err.(ErrEmptyKeyName)
  44  	return ok
  45  }
  46  
  47  func (err ErrEmptyKeyName) Error() string {
  48  	return fmt.Sprintf("empty key name: %s", err.Line)
  49  }
  50