error_report

module
v0.0.0-...-a8787bd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2020 License: MIT

README

error_report

standard-readme compliant Semantic Versioning 2.0.0 License GoDoc Build Status Coverage Status

A true alternative approach to handling errors in GoLang.

Table of Contents

Background

Install

go get github.com/Anadian/error_report/source

Usage

Example

package main;

import "github.com/Anadian/error_report/source";

func FunctionWhichReturnsAnErrorReport() error_report.ErrorReport_struct{
	var return_report error_report.ErrorReport_struct = error_report.New( 1, map[string]interface{}{
		"function_name": "FunctionWhichReturnsAnErrorReport",
		"line_number": 8,
	},
	nil );
	return return_report;
}

func ChecksAndWrapsAnErrorReport() error_report.ErrorReport_struct{
	var this_function_error_report error_report.ErrorReport_struct;
	var subroutine_error_report error_report.ErrorReport_struct = FunctionWhichReturnsAnErrorReport();
	if( subroutine_error_report.IsError() == true ){ //Checks if an error ocurred.
		if( subroutine_error_report.CodeEqual( 1 ) == true ){ //Checks the code.
			this_function_error_report.Code = 2;
			this_function_error_report.Data = map[string]interface{}{
				"function_name": "ChecksAndWrapsAnErrorReport",
				"line_number": 16,
			}
			this_function_error_report.Wrap( subroutine_error_report );
		}
	}
	return this_function_error_report;
}

func main(){
	error_report := ChecksAndWrapsAnErrorReport();
	/*
		error_report = {
			Code: 2,
			Data: {
				"function_name": "ChecksAndWrapsAnErrorReport",
				"line_number": 16
			},
			Wrapped -> { (a pointer to another ErrorReport_struct object.)
				Code: 1,
				Data: {
					"function_name": "FunctionWhichReturnsAnErrorReport",
					"line_number": 8
				}
				Wrapped -> nil
			}
		}
	*/
}

For example usage of the whole API, checkout the test file.

API

Contributing

Changes are tracked in CHANGES.md.

License

MIT ©2019 Anadian SEE LICENSE IN LICENSE

Directories

Path Synopsis
error_report provides interfaces, structs, and functions for working with error reports.
error_report provides interfaces, structs, and functions for working with error reports.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL