The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Name

Unexpected::TraitFor::TracingStacks - Provides a minimalist stacktrace

Synopsis

   use Moo;

   with 'Unexpected::TraitFor::TracingStacks';

Description

Provides a minimalist stacktrace

Configuration and Environment

Modifies BUILD in the consuming class. Forces the instantiation of the trace attribute

Defines the following attributes;

trace

An instance of the trace_class

trace_args

A hash ref of arguments passed the trace_class constructor when the trace attribute is instantiated

trace_class

A loadable class which defaults to Devel::StackTrace

Subroutines/Methods

message

   $error_text_and_stack_trace = $self->message;

Returns the stringified object and a full stack trace

stacktrace

   $lines = $self->stacktrace( $num_frames_to_skip );

Returns a minimalist stack trace. Defaults to skipping zero frames from the stack

trace_frame_filter

Lifted from StackTrace::Auto this method filters out frames from the raw stacktrace that are not of interest. It is very clever

Diagnostics

None

Dependencies

namespace::autoclean
Moo::Role
Unexpected::Types

Incompatibilities

There are no known incompatibilities in this module

Bugs and Limitations

There are no known bugs in this module. Please report problems to the address below. Patches are welcome

Acknowledgements

Larry Wall - For the Perl programming language

Author

Peter Flanigan, <pjfl@cpan.org>

License and Copyright

Copyright (c) 2017 Peter Flanigan. All rights reserved

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic

This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE