diff lib/IMPL/Web/Exception.pm @ 407:c6e90e02dd17 ref20150831

renamed Lib->lib
author cin
date Fri, 04 Sep 2015 19:40:23 +0300
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/IMPL/Web/Exception.pm	Fri Sep 04 19:40:23 2015 +0300
@@ -0,0 +1,60 @@
+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
\ No newline at end of file