<commit_before>use Error qw(:try);


package Unison::Exception;
use CBT::debug;
CBT::debug::identify_file() if ($CBT::debug::trace_uses);
use base 'CBT::Exception';



foreach my $subtype (qw(NotImplemented NotConnected ConnectionFailed
                        BadUsage RuntimeError DBIError)) {
  eval "package Unison::Exception::$subtype; use base 'Unison::Exception';";
}



1;<commit_msg>* added CBT::debug header * now provides try..catch..etc syntax to caller (only caller)<commit_after>use CBT::debug;
CBT::debug::identify_file() if ($CBT::debug::trace_uses);


# Anyone using Unison::Exceptions will want the try/catch/...
# syntax; import it for them just as 'use Error qw(:try)' would do
package Unison::Exceptions;
use base qw(Exporter);
use Error qw(:try);
@EXPORT = @Error::subs::EXPORT_OK;


# Define a bunch of standard exceptions
package Unison::Exception;
use base 'CBT::Exception';

our @EXCEPTIONS = qw(NotImplemented NotConnected ConnectionFailed BadUsage
					RuntimeError DBIError);

foreach my $subtype (@EXCEPTIONS) {
  eval "package Unison::Exception::$subtype; use base 'Unison::Exception';";
}



1;
{'fraction_non_alphanumeric': 0.1349911190053286, 'fraction_numerical': 0.0017761989342806395, 'mean_word_length': 5.5523255813953485, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2853839', 'n_tokens_mistral': 367, 'n_tokens_neox': 346, 'n_words': 103}