anchor.diff:      if (fileContent.isNotEmpty) {
         try {
           data = JSON.decode(fileContent);
  -      } catch (e) {
  -        PinLogger.instance.shout('[PinUtility] readJsonFileSync: Error in JSON parsing file: ${path}, content: ${fileContent}');
  +      } catch (e, trace) {
  +        handleError(e, trace, message: '[PinUtility] readJsonFileSync: Error in JSON parsing file: ${path}, content: ${fileContent}');
         }
       }
   
  
positive.code:     String fileContent = '';
  
      if (file.existsSync()) {
        fileContent = new File(path).readAsStringSync();
      } else {
        PinLogger.instance.warning('[PinUtility] readJsonFileSync: Target file does not exist or is not file: ${path}');
      }
  
negative.code: 
      try {
        jsonStr = JSON.encode(json);
      } catch (e, trace) {
        handleError(e, trace, message: '[PinUtility] writeJsonFile: Error in encoding JSON obj: ${json}');
        completer.completeError(e, trace);
      }
  
      (new File(path)).writeAsString(jsonStr)
      .then((_) {
        completer.complete(_);
      })
      .catchError((e, trace) {
        PinUtility.handleError(e, trace);
        completer.completeError(e, trace);
      });
  
      return completer.future;
  