Overview

Namespaces

  • SKJ
    • AppException
      • HTTP
      • Logic
      • Runtime

Classes

  • Label

Interfaces

  • AppExceptionInterface

Traits

  • AppExceptionMethods

Exceptions

  • AppException
  • Overview
  • Namespace
  • Class

Interface AppExceptionInterface

AppException インターフェース

SKJ\AppExceptionInterface implements IteratorAggregate

Direct known implementers

SKJ\AppException

Indirect known implementers

SKJ\AppException\AbstractContainerException, SKJ\AppException\AbstractDateTimeException, SKJ\AppException\HTTP\GatewayTimeoutException, SKJ\AppException\HTTP\GoneException, SKJ\AppException\HTTP\HttpVersionNotSupportedException, SKJ\AppException\HTTP\InternalServerErrorException, SKJ\AppException\HTTP\LengthRequiredException, SKJ\AppException\HTTP\LockedException, SKJ\AppException\HTTP\MethodNotAllowedException, SKJ\AppException\HTTP\NotAcceptableException, SKJ\AppException\HTTP\NotFoundException, SKJ\AppException\HTTP\NotImplementedException, SKJ\AppException\AbstractHttpException, SKJ\AppException\HTTP\PaymentRequiredException, SKJ\AppException\HTTP\PreconditionFailedException, SKJ\AppException\HTTP\ProxyAuthenticationRequiredException, SKJ\AppException\HTTP\RequestedRangeNotSatisfiableException, SKJ\AppException\HTTP\RequestEntityTooLargeException, SKJ\AppException\HTTP\RequestTimeoutException, SKJ\AppException\HTTP\RequestUriTooLongException, SKJ\AppException\HTTP\ServiceUnavailableException, SKJ\AppException\HTTP\UnauthorizedException, SKJ\AppException\HTTP\UnprocessableEntityException, SKJ\AppException\AbstractValidationException, SKJ\AppException\HTTP\UnsupportedMediaTypeException, SKJ\AppException\HttpException, SKJ\AppException\Logic\BadFunctionCallException, SKJ\AppException\Logic\BadMethodCallException, SKJ\AppException\Logic\CircularReferenceException, SKJ\AppException\Logic\ContainerException, SKJ\AppException\Logic\DependencyInjectionException, SKJ\AppException\Logic\DomainException, SKJ\AppException\Logic\EnvironmentException, SKJ\AppException\Logic\InvalidArgumentException, SKJ\AppException\HTTP\BadGatewayException, SKJ\AppException\Logic\LengthException, SKJ\AppException\Logic\OutOfRangeException, SKJ\AppException\Logic\UnexpectedValueException, SKJ\AppException\LogicException, SKJ\AppException\Runtime\AuthenticationException, SKJ\AppException\Runtime\DeadLockException, SKJ\AppException\Runtime\DuplicationException, SKJ\AppException\Runtime\DurationException, SKJ\AppException\Runtime\EmptyResultException, SKJ\AppException\Runtime\ExpiryException, SKJ\AppException\HTTP\BadRequestException, SKJ\AppException\Runtime\InvalidElementException, SKJ\AppException\Runtime\MissingElementException, SKJ\AppException\Runtime\NoConditionException, SKJ\AppException\Runtime\OutOfBoundsException, SKJ\AppException\Runtime\OverflowException, SKJ\AppException\Runtime\PermissionException, SKJ\AppException\Runtime\RangeException, SKJ\AppException\Runtime\TemporaryFailureException, SKJ\AppException\Runtime\TimeoutException, SKJ\AppException\Runtime\TransactionException, SKJ\AppException\HTTP\ConflictException, SKJ\AppException\Runtime\UnavailableServiceException, SKJ\AppException\Runtime\UnderflowException, SKJ\AppException\Runtime\UnexpectedValueException, SKJ\AppException\Runtime\UploadException, SKJ\AppException\Runtime\ValidationException, SKJ\AppException\Runtime\WrongArgumentException, SKJ\AppException\RuntimeException, SKJ\AppException\HTTP\ExpectationFailedException, SKJ\AppException\HTTP\FailedDependencyException, SKJ\AppException\HTTP\ForbiddenException
Namespace: SKJ
Package: SKJ\AppException
Copyright: 2019 Seikouhou.
License: MIT
Author: y3high y3public@49364.net
Since: Class available since Release 0.8.0
Located at AppExceptionInterface.php
Methods summary
public string
# getMessage( )

例外メッセージを取得する

例外メッセージを取得する

※\Exceptionから継承

Returns

string
例外メッセージ文字列

Api

public SKJ\AppExceptionInterface
# getPrevious( )

前の例外を返す

前の例外を返す

※\Exceptionから継承

Returns

SKJ\AppExceptionInterface
前に発生したApp例外、もしくはNULL

Api

public integer
# getCode( )

例外コードを取得する

例外コードを取得する

※\Exceptionから継承

Returns

integer
例外コード

Api

public string
# getFile( )

例外が作られたファイルを取得する

例外が作られたファイルを取得する

※\Exceptionから継承

Returns

string
例外が作られたファイルの名前

Api

public integer
# getLine( )

例外が作られた行を取得する

例外が作られた行を取得する

※\Exceptionから継承

Returns

integer
例外が作られた行番号

Api

public array
# getTrace( )

スタックトレースを取得する

スタックトレースを取得する

※\Exceptionから継承

Returns

array
例外のスタックトレース

Api

public string
# getTraceAsString( )

スタックトレースを文字列で取得する

スタックトレースを文字列で取得する

※\Exceptionから継承

Returns

string
例外のスタックトレースの文字列表現

Api

public array
# getGlobalVars( )

例外生成時のグローバルスコープの変数情報を取得

例外生成時のグローバルスコープの変数情報を取得

Returns

array
グローバル変数情報

Api

public array
# getCallerVars( )

例外生成時のローカルスコープの変数情報を取得

例外生成時のローカルスコープの変数情報を取得

Returns

array
ローカル変数情報

Api

public static integer|null
# getBaseExceptionCode( string $fileName )

基底例外コードを取得

基底例外コードを取得

ファイルごとにユニークになる、そのファイル中で例外コードの基底とすべき数値を返す

Parameters

$fileName
ファイルの絶対パス

Returns

integer|null
基底例外コード、もう発行できない場合はnull

Api

public static boolean
# isExtension( )

AppExceptionがエクステンションを読み込んでいるかどうか調べる

AppExceptionがエクステンションを読み込んでいるかどうか調べる

エクステンションを読み込んでいれば、インスタンス生成時のローカルスコープの変数情報を取得する事ができる

Returns

boolean
エクステンションを読み込んでいれば真、そうでなければ偽

Api

public string
# getClass( )

現在の例外クラス名を取得

現在の例外クラス名を取得

Returns

string
クラス名

Api

public string
# getFunction( )

例外生成時の例外メソッド名を取得

例外生成時の例外メソッド名を取得

※これは当然コンストラクタになる(getFile()、getLine()などに合わせて存在)

Returns

string
関数(メソッド)名

Api

public array
# getCallQueue( )

現在のコールキュー情報を取得する

現在のコールキュー情報を取得する

Returns

array
コールキュー情報

Api

public SKJ\AppExceptionInterface
# forge( array $callQueue = null )

例外生成場所を変更

例外生成場所を変更

例外生成場所をこのメソッドが呼ばれた場所に擬似的に変更する

引数に他のApp例外のコールキュー情報を渡せば、そのApp例外の発生場所と同じにできる

Parameters

$callQueue
self::getCallQueue()で得られるコールキュー情報

Returns

SKJ\AppExceptionInterface
自分自身を返す

Api

public boolean
# wasCreatedInCurrentContext( array $debugBackTrace = null )

この例外の生成場所が現在のコンテキストに含まれるか調べる

この例外の生成場所が現在のコンテキストに含まれるか調べる

ここで意味するコンテキストは当メソッドをコールした箇所の変数のスコープとほぼ同じ範囲だが、include、reuqire、include_once、require_onceでの飛び先は含まないので注意

Parameters

$debugBackTrace
例外生成時のコールキュー情報と比較する為のコールスタック情報、通常は指定してはいけない

Returns

boolean
含まれているのなら真、そうでないのなら偽

Api

public integer|boolean
# getLineInCurrentContext( )

同一ファイルでの例外発生行を取得

同一ファイルでの例外発生行を取得

現在の(このメソッドを呼び出した)コンテキストから見て、どの行で発生した例外か調べる

Returns

integer|boolean
例外発生行、もしくは取得失敗時に偽

Api

public string|boolean
# getFunctionInCurrentContext( )

同一ファイルでの例外発生関数名を取得

同一ファイルでの例外発生関数名を取得

現在の(このメソッドを呼び出した)コンテキストから見て、どの関数、メソッド呼び出しで発生した例外か調べる

Returns

string|boolean
例外発生関数名、もしくは取得失敗時に偽

Api

public array|boolean
# getFuncArgsInCurrentContext( )

同一ファイルでの例外発生関数の引数を取得

同一ファイルでの例外発生関数の引数を取得

現在の(このメソッドを呼び出した)コンテキストから見て、この例外が発生した関数、メソッドの引数を取得する

Returns

array|boolean
例外発生関数の引数、もしくは取得失敗時に偽

Api

public SKJ\AppExceptionInterface
# setFields( string|array $fields )

例外の発生源を識別する情報を設定

例外の発生源を識別する情報を設定

例外の発生源を識別する情報(バリデーションエラーならばカラム名など)を設定する機能だが、特に必要なければ使用しなくとも良い

Parameters

$fields
例外の発生源(複数なら配列や引数を増やす)を識別する情報

Returns

SKJ\AppExceptionInterface
自分自身を返す

Api

public array
# getFields( )

例外の発生源を識別する情報を取得

例外の発生源を識別する情報を取得

例外の発生源を識別する情報(バリデーションエラーならばカラム名など)を取得する機能だが、特に必要なければ使用しなくとも良い

Returns

array
例外の発生源を識別する情報が格納された配列

Api

public SKJ\AppExceptionInterface
# setMessage( string $message )

例外メッセージを設定

例外メッセージを設定

Parameters

$message
例外メッセージ

Returns

SKJ\AppExceptionInterface
自分自身を返す

Api

public SKJ\AppExceptionInterface
# setCode( integer $code )

例外コードを設定

例外コードを設定

int型以外が渡されると既定の例外コードが設定される

Parameters

$code
例外コード

Returns

SKJ\AppExceptionInterface
自分自身を返す

Api

public SKJ\AppExceptionInterface
# setFile( string $file )

例外が発生したファイルを設定

例外が発生したファイルを設定

Parameters

$file
例外が発生したファイル

Returns

SKJ\AppExceptionInterface
自分自身を返す

Api

public SKJ\AppExceptionInterface
# setLine( integer $line )

例外が発生した行を設定

例外が発生した行を設定

Parameters

$line
例外が発生した行

Returns

SKJ\AppExceptionInterface
自分自身を返す

Api

public SKJ\AppExceptionInterface
# setStatusCode( mixed $statusCode )

状態コードを設定

状態コードを設定

例外コードとは別に補助的に使用できるコードとして自由に利用して下さい

Parameters

$statusCode
状態コード

Returns

SKJ\AppExceptionInterface
自分自身を返す

Api

public mixed
# getStatusCode( )

状態コードを取得

状態コードを取得

例外コードとは別に補助的に使用できるコードとして自由に利用して下さい

Returns

mixed
状態コード

Api

public Exception|null
# getOriginalException( )

AppExceptionに強制変換される前の例外を取得する

AppExceptionに強制変換される前の例外を取得する

Returns

Exception|null
強制変換される前の例外、未設定ならnull

Api

public string|null
# getOriginalClassName( )

AppExceptionに強制変換される前の例外クラス名を取得する

AppExceptionに強制変換される前の例外クラス名を取得する

Returns

string|null
強制変換される前の例外クラス名、未設定ならnull

Api

public SKJ\AppExceptionInterface
# enableSkipContainer( )

イテレータとして動作時に\SKJ\AppException\Logic\ContainerExceptionをスキップする

イテレータとして動作時に\SKJ\AppException\Logic\ContainerExceptionをスキップする

Returns

SKJ\AppExceptionInterface
自分自身を返す

Api

public SKJ\AppExceptionInterface
# disableSkipContainer( )

イテレータとして動作時に\SKJ\AppException\Logic\ContainerExceptionをスキップしない

イテレータとして動作時に\SKJ\AppException\Logic\ContainerExceptionをスキップしない

Returns

SKJ\AppExceptionInterface
自分自身を返す

Api

public SKJ\AppExceptionInterface
# setSortOrder( integer $order = self::SORT_ORDER_DESC )

イテレータとして扱った時の並び順(発生順)を制御

イテレータとして扱った時の並び順(発生順)を制御

Parameters

$order
並び順

Returns

SKJ\AppExceptionInterface
自分自身を返す

Uses

self::SORT_ORDER_ASC 昇順でソート時に$orderに指定
self::SORT_ORDER_DESC 降順でソート時に$orderに指定

Api

public SKJ\AppExceptionInterface
# resetFilter( )

イテレータとして扱った時に抽出するクラス設定を初期化

イテレータとして扱った時に抽出するクラス設定を初期化

Returns

SKJ\AppExceptionInterface
自分自身を返す

Api

public SKJ\AppExceptionInterface
# setFilter( string|null $className = null )

イテレータとして扱った時に抽出するクラスを設定

イテレータとして扱った時に抽出するクラスを設定

Parameters

$className
抽出対象となるクラス名、null時は現インスタンスと同一のクラスのみ対象とする

Returns

SKJ\AppExceptionInterface
自分自身を返す

Api

public array
# getExceptionLog( )

連結された例外のリストをログとして返す

連結された例外のリストをログとして返す

ログフォーマットは"[クラス名] -> ファイル名(発生行) [例外コード]例外メッセージ\n 文字列化されたスタックトレース"となる

Returns

array
ログメッセージが格納された配列

Api

public SKJ\AppExceptionInterface|SKJ\AppExceptionInterface|SKJ\AppException\Logic\ContainerException
# renew( array $replacement )

例外再構築処理

例外再構築処理

現在の例外が第1引数に指定された条件(例外コード)に当てはまるのならば、現在の例外を基に新規例外を作成する

なお、新規例外には現在の例外を連結して返す

第1引数仕様 - 例外再構成情報配列

[
    (int)対象の例外コード => [
        (int|null)設定する例外コード(null指定時は元の値から変更しない),
        (string|null)新規作成するAppException系例外クラス名(null指定時は元のクラスから変更しない),
        (string|null)設定する例外メッセージ(null指定時は元の値から変更しない)
    ] | (int)設定する例外コード | (\SKJ\AppExceptionInterface)置き換えるAppException系例外,...
]

Parameters

$replacement
例外再構成情報配列

Returns

SKJ\AppExceptionInterface|SKJ\AppExceptionInterface|SKJ\AppException\Logic\ContainerException
$replacementに該当する例外コードのキーがあれば、そのエントリで指定されたAppException系例外、もし該当する例外コードが無い場合は、renew()の呼び出し元と同一コンテキストで生成された例外であれば自分自身をそのまま返し、そうでなければ\SKJ\AppException\Logic\ContainerExceptionクラスのインスタンスを返す

Api

Methods inherited from IteratorAggregate
getIterator()
Constants summary
integer SORT_ORDER_ASC

このオブジェクトをイテレータとして扱った時に返す連結された例外のソート(発生順)定数

このオブジェクトをイテレータとして扱った時に返す連結された例外のソート(発生順)定数

Api

# 0
integer SORT_ORDER_DESC

このオブジェクトをイテレータとして扱った時に返す連結された例外のソート(発生順)定数

このオブジェクトをイテレータとして扱った時に返す連結された例外のソート(発生順)定数

Api

# 1
API documentation generated by ApiGen