Coder Social home page Coder Social logo

error_report's Introduction

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

error_report's People

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.