view lib/IMPL/Web/Exception.pm @ 422:b0481c071bea ref20150831

IMPL::Config::Container tests, YAMLConfiguration now works and tested
author cin
date Sun, 20 Aug 2017 00:20:41 +0300
parents c6e90e02dd17
children
line wrap: on
line source

package IMPL::Web::Exception;
use strict;
use warnings;

use IMPL::Const qw(:prop);
use IMPL::declare {
	base => [
	   'IMPL::AppException' => '@_'
	],
	props => [
	   headers => PROP_ALL
	]
};

sub status {
	"500 Internal error";
}

1;

__END__

=pod

=head1 NAME

C<IMPL::Web::Exception> - Базовый класс для всех web-исключений, для ошибок вызванных
по вине клиента.

=head1 SYNOPSIS

Вызов исключения

=begin code

use IMPL::require {
	WebException => 'IMPL::Web::Exception'
};

sub MyWebHandler {
	# ...
	
	die WebException->new("something is wrong"); 
	
	# ...	
}

=end code

=head1 MEMBERS

=head2 C<status()>

Возвращает C<HTTP> код ошибки. Каждый класс иключений должен переопределить данный метод.

=head2 C<[get,set]headers>

Ссылка на хеш с параметрами заголовка.

=cut