35 repository-uri
Standardized error definitions for improved debugging and interoperability.
Distinct from Error Reporting: Distinct from Error Reporting: focuses on the definition of custom error interfaces rather than general error notification systems.
Explore 35 awesome GitHub repositories matching software engineering & architecture · Custom Error Interfaces. Refine with filters or upvote what's useful.
OpenZeppelin Contracts is a library of modular, secure, and reusable smart contract components designed for the development of decentralized applications. It provides a foundational framework for building standard-compliant contracts, offering battle-tested implementations for token standards, access control, and common utility patterns. The project distinguishes itself through its comprehensive support for complex architectural patterns, including proxy-based upgradeability, role-based access control, and account abstraction. It enables developers to implement modular logic injection via hoo
Defines consistent custom error interfaces to improve debugging and interoperability across token implementations.
brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio
Provides standardized mappings of numeric error constants to human-readable descriptions for consistent module reporting.
Ajv is a high-performance data validation framework that compiles JSON schemas into optimized, standalone JavaScript functions. By transforming declarative schema definitions into executable code, it eliminates runtime interpretation overhead and provides a secure, efficient way to enforce data integrity across both browser and server environments. The library distinguishes itself through its focus on performance and type safety. It employs advanced compilation techniques, including abstract syntax tree optimization and function caching, to ensure rapid validation. Beyond standard checks, it
Allows replacing standard validation error messages with user-defined text to improve feedback clarity.
Whoops is a PHP debugging tool and error handler designed to intercept and visualize exceptions and stack traces during application development. It functions as an exception renderer that converts errors into human-readable web pages or machine-readable responses. The project differentiates itself by providing a visual debugging interface with line-highlighted code views and a stack trace visualizer that links directly to source files in a local text editor or IDE. It employs environment-aware response resolution to automatically select between HTML, JSON, XML, or plain text output based on t
Uses handler interfaces and closures to allow developers to override default error-processing behavior.
Xgo is a programming language that combines familiar constructs from languages like C/C++, Go, Python, and JavaScript with a natural language-style syntax that reads closer to plain English. It executes programs compatible with the Go language, allowing reuse of existing Go libraries and tooling, and supports mixing Go and XGo source files within a single package for gradual adoption of its simplified syntax. The language distinguishes itself through direct foreign function interface capabilities, enabling calls to C/C++ and Python libraries using specialized string literal syntax without man
Defines custom error types by implementing the Error() method on a struct for structured error data.
pkg/errors is a Go library that provides primitives for creating, annotating, and inspecting errors with stack traces and contextual information. Its core identity centers on capturing the call stack at the point of error creation or wrapping, preserving that information for later debugging and root cause analysis. The library distinguishes itself through a set of tightly integrated capabilities for error handling. It supports wrapping errors with descriptive messages while recording a new stack trace at the wrapping point, annotating existing errors with either a message or a stack trace ind
Searches through wrapped error chains to find matching errors or retrieve the root cause.
This project is a translated Go language style guide and programming standard. It provides a collection of coding standards and best practices designed to ensure that Go code remains maintainable, readable, and efficient. The guide focuses on idiomatic patterns for error handling, interface compliance, and memory optimization. It establishes standards for package naming and the use of functional options to maintain backward compatibility in constructors. It covers a broad range of capabilities, including concurrency management for coordinating process lifecycles and preventing resource leaks
Establishes standardized patterns for wrapping errors to provide context without causing duplicate log entries.
This project is an interactive programming education resource and tutorial designed for learning the Rust programming language and systems programming concepts. It provides a collection of runnable and editable code examples that serve as a practical reference for language syntax and implementation. The resource features an interactive code sandbox that allows users to execute and test code snippets in real time. It emphasizes the verification of technical accuracy by executing embedded code blocks during the build process to ensure all examples remain functional. The content covers a compre
Provides guidance on creating specialized error types to mask multiple failure modes under a single type.
100 Go Mistakes is a reference book and code review companion that catalogues frequent Go programming anti-patterns and provides corrected implementations for each one. It covers a wide range of common pitfalls, from range loop variable capture and interface nil handling to error wrapping and map iteration randomization, helping developers recognize and avoid these issues in their own code. The project distinguishes itself by offering a structured, example-driven approach to learning idiomatic Go. It covers core design decisions such as when to use pointer versus value receivers, how to apply
Demonstrates errors.As for type-checking wrapped errors in Go.
Error Prone is a static code analyzer and Java compiler extension that identifies common programming mistakes during the build process. It functions as a compiler wrapper that flags potential errors as compile-time failures to prevent bugs from reaching execution. The tool integrates directly into the Java compilation workflow to provide compile-time validation. It allows for the definition of custom linting rules and analysis checks to enforce specific coding standards and detect prohibited API usage. The system utilizes abstract syntax tree analysis and type-aware pattern matching to inspe
Triggers standard compiler error messages to block builds when predefined bug patterns are detected.
neverthrow is a TypeScript result type library that implements railway oriented programming. It provides a functional error handling framework using type-safe wrappers to represent operation outcomes as either success or failure variants, eliminating the need to throw exceptions. The library features adapters that convert throwing functions and asynchronous promises into typed result objects. This allows asynchronous rejections and unsafe code to be handled as explicit return values rather than uncaught exceptions. The framework covers a broad range of functional computation capabilities, in
Result converts potentially throwing functions into a consistent result type to ensure all errors are handled explicitly.
AFL++ is a coverage-guided fuzzing framework that discovers crashes and hangs in software by mutating inputs while tracking which code paths are exercised. It functions as both a fuzzing engine and a campaign manager, supporting targets with or without source code through compile-time instrumentation, dynamic binary instrumentation, and emulation. The framework includes tools for crash triage and analysis, test case minimization, and campaign deployment across local or distributed environments. The framework distinguishes itself through its breadth of instrumentation backends, allowing users
Fixes build failures caused by mismatched LLVM plugins or namespace-scoped AFL macros.
Anyhow is a dynamic error handling library for Rust applications that provides a flexible error container using type erasure. It serves as a tool for simplifying error signatures by wrapping diverse failure types into a single object, allowing for the propagation of any error that implements the standard error trait without requiring a custom enumeration for every function. The project functions as an error context provider by attaching high-level diagnostic information and recording execution stack traces at the point of failure. It enables the recovery of concrete error implementations from
Nests errors within a recursive structure to append high-level diagnostic context.
Moleculer is a Node.js microservices framework designed for building distributed systems. It functions as a distributed service broker, task orchestrator, and service mesh framework, enabling a decentralized architecture with built-in service discovery and load balancing. The project differentiates itself through a pluggable transport layer supporting protocols such as NATS, Redis, TCP, and Kafka, as well as a dedicated microservices API gateway that maps external HTTP and WebSocket requests to internal service actions. It includes built-in fault tolerance mechanisms, including circuit breake
Implements specialized error classes that carry specific codes and metadata to standardize error handling.
The Rust RFCs repository is the formal home for the Rust language evolution process, housing the structured design documents and community review mechanisms that govern changes to the Rust programming language, its compiler, and its standard library. It defines the complete lifecycle for proposing, discussing, and implementing substantial changes through RFC documents, from initial submission and community feedback through final comment periods and sub-team sign-offs. The repository codifies the governance and collaboration processes that shape Rust's development, including mechanisms for com
Implements the catch block construct for capturing propagated errors from ? operator usage.
go-plugin is a framework for implementing plugin architectures where extensions run as separate processes and communicate via a Go RPC plugin system. It functions as an inter-process communication library and lifecycle manager that allows host applications to discover, launch, and monitor external binary plugins. The framework enables cross-language plugin systems, allowing plugins written in different languages to integrate with a host through standardized RPC protocols. It features a bidirectional RPC bridge that allows both the host and the plugin to exchange interface implementations for
Provides a mechanism to wrap plugin errors into transferable structures to preserve error context across process boundaries.
Typia is a compile-time code generator that transforms TypeScript type annotations into runtime validation, serialization, and schema functions without requiring decorators or separate schema files. It generates optimized validation and serialization code during TypeScript compilation, producing dedicated functions for each type that eliminate runtime schema objects for faster execution. The project extends this core capability into several integrated areas. It generates fully typed client SDKs from NestJS controller source code, keeping server and client types synchronized automatically. It
Throws a structured error on the first mismatched field, returning the input unchanged on success.
redux-logger is a Redux state logger and JavaScript state debugger designed to record actions and state transitions in the browser console. It functions as middleware that captures state changes and action payloads within a Redux store to assist in debugging application flow. The project provides a console log formatter to customize the appearance of logs using colors, timestamps, and execution durations. It allows for the restriction of recorded actions through custom predicates to reduce console noise and includes capabilities to transform complex state data into readable formats. The tool
Implements a pipeline that wraps action failures to capture metadata before re-throwing exceptions.
This project is a Redux state logger and console debugging tool. It functions as middleware for the Redux dispatch pipeline, acting as a state transition tracker that records actions and state changes directly to the browser console. The tool allows for the interception of actions to log timing, payloads, and state transitions. It provides capabilities to filter specific actions using predicate functions to reduce noise and transform complex state or immutable data into readable formats for easier inspection. The utility includes options for customizing console output through timestamps, col
Wraps exceptions during the dispatch cycle to provide failure context without disrupting the application flow.
Provides a utility that wraps require calls in try-catch blocks for graceful module loading.