例外処理

構造処理や内容処理の処理中に,多様な例外状態が発生する場合がある。 この節では,起きる可能性のある例外の集合,及びSPDL提示プロセスの 例外処理機構について定義する。 例外処理は,例外を引き起こすような動作を避けたり,例外による影響を 抑えたりするような重要な場面で,処理を継続するための方法を提供する。

例外は,二つのレベルで定義され,処理される。 BLOCK level. ]]> 構造例外は,ブロック構造要素のレベルで発生し,処理される。 . ]]> 構造において起きる可能性のある例外についてはで定義する。 . ]]> 構造例外処理はで定義する。 内容例外は,内容のレベルで発生する。 . ]]> 起きる可能性のある例外は,で定義する。 . ]]> 内容例外処理は,で定義する。 . ]]> 内容例外及びその処理に関係のある演算子群は,で定義する。 インタプリタエラーは,内容中で起きる可能性のある例外状態のなかで, ある特別なクラスを形成している。 . ]]> これらについては,で定義する。

構造例外

BLOCK, upon any of the following occurrances: ]]> 構造例外は,ブロック構造要素内で次に示すいずれかが起こった場合に発生する。

BLOCK most immediately superior to the structure in which the violation occurs. ]]> 上の違反のうちのいずれかが発生した場合,その違反が生じた構造の直接の上位 ブロック中で例外が発生する。

構造中における構文エラー

BLOCK when the structure processor encounters structures or parts thereof, subordinate to the BLOCK, which violate the syntax prescribed in and of this International Standard. ]]> 構造プロセサが,あるブロック構造要素の下位において,及びに規定 されている構文に違反する構造又はその一部を見つけた場合に,構文エラーが そのブロックにおいて発生する。

構造中における不正な指定  

BLOCK when the structure processor encounters structure elements, subordinate to the BLOCK, which specify a value or values which are not allowed by this International Standard. ]]> 構造プロセサが,あるブロック構造要素の下位において,この規格で許されていない 値に指定された構造要素を見つけた場合に,不正指定例外がそのブロックに おいて発生する。

実装制約違反

BLOCK when the structure processor encounters structure elements, subordinate to the BLOCK, which specify values which are not supported by the implementation. ]]> 構造プロセサが,あるブロック構造要素の下位において,実装がサポートしていない 値を指定している構造要素を見つけた場合,実装制約違反がそのブロックに おいて発生する。 . ]]> この規格に適合する実装(参照)の場合,この例外は,この規格が定義する特定の制限事項に 関してだけ発生しうる。

内容中で処理されない内容例外

BLOCK when the Content Processor encounters an unhandled content exception in content subordinate to the BLOCK. (See and for content exceptions and content exception handling.) ]]> 内容プロセサが,あるブロック構造要素の下位にある内容中で処理されない内容例外 を見つけた場合に,処理されない内容例外がそのブロックにおいて発生する。 (内容例外及び内容例外処理については,及び参照。)

BLOCK ]]> 下位ブロック中における処理されない構造例外

BLOCK, if that BLOCK does not handle the exception (see ), then the same structure exception arises in the most immediately superior BLOCK. ]]> 上の五つの構造例外のいずれかが,あるブロック構造要素中で発生し, そのブロックがその例外(参照)を処理しない場合,同じ構造例外が, その直接の上位ブロック中において発生する。 DOCUMENT (to which there is no superior BLOCK) then the exception is handled as specified in . ]]> 処理されない構造例外が文書(これには上位ブロックは存在しない。)中 で発生した場合,この例外は,で規定するとおりに処理される。

構造例外処理

BLOCK has an abort-policy presentation parameter, which may have values of dpi::abort-policy::on-warning, dpi::abort-policy::on-error, or dpi::abort-policy::struggle-on (see ). ]]> 各ブロック構造要素のブロック状態は,abort-policy提示パラメータをもつ。 これは,値としてdpi::abort-policy::on-warning, dpi::abort-policy::on-error又はdpi::abort-policy::struggle-onを もつことができる(参照)。

BLOCK whose abort-policy presentation parameter has a value of dpi::abort-policy::on-error, it typically does not cause a structure exception to occur. ]]> abort-policy提示パラメータがdpi::abort-policy::on-error値をもつ ブロック中で構造警告が発生した場合,それは,一般には構造例外を 引き起こさない。 そのかわり,それは,ある実装依存の方法で印刷依頼元に対して警告メッセージを 発行する。

BLOCK whose abort-policy presentation parameter has a value of dpi::abort-policy::on-warning, a structure exception is raised in addition to a warning message being sent to the print requestor. ]]> abort-policy提示パラメータがdpi::abort-policy::on-warning値を もつブロック中で構造警告が発生した場合, 印刷依頼元に警告メッセージが送られることに加えて構造例外が引き起こされる。 次の36.2.1からまでで構造例外の処理について述べる。

dpi::abort-policy::struggle-on

BLOCK for which the abort-policy presentation parameter value is dpi::abort-policy::struggle-on, then the exception is said to be handled. ]]> abort-policy提示パラメータの値がdpi::abort-policy::struggle-on であるブロック中で構造例外が発生した場合,その例外は,処理される。 実装依存の警告メッセージが印刷依頼元に送られてもよい。 この警告メッセージは,逆の経路を使ってSPDLプロセスを呼び出した処理へ 転送されてもよいし,ブレークページ又はバナーページ上に印刷されてもよい。 この経路の構造とプロトコルについては,この規格では定義しない。

BLOCK is performed by the presentation process. ]]> このブロックの下位にある内容又は構造が,それ以上提示プロセスによって 処理されることはない。 BLOCK in which the exception occurs is a PAGE, then the PAGE shall be presented. ]]> しかし,例外が発生しているブロックがページ構造要素である場合,その ページは,提示される。 そのページ上に提示されるページ像は,実装依存とする。

BLOCK in which the exception occurred. ]]> 構造処理は,例外が起きたブロックの直後の構造から再開される。 BLOCK subordinate to a PAGE, the cumulative state of the resultant Current Page Image shall be implementation-dependent. ]]> 例外があるページの下位ブロック中で発生した場合,結果として 得られる現ページ像の蓄積された状態は,実装依存とする。 蓄積された状態とは最終的に残される状態のこと。 結果として得られる現ページ像は,文書中に例外の原因がなかった場合の 提示プロセスの結果に可能な限り近いことが望ましい。

dpi::abort-policy::on-error, dpi::abort-policy::on-warning

BLOCK for which the abort-policy presentation parameter value is dpi::abort-policy::on-error or dpi::abort-policy::on-warning, then the exception is said to be unhandled. ]]> abort-policy提示パラメータの値がdpi::abort-policy::on-error 又はdpi::abort-policy::on-warnigである ブロック構造要素中で 構造例外が発生した場合,その例外は,処理されない。 印刷依頼元に対して,実装依存の警告メッセージが発行されてもよい。 この警告メッセージは,逆の経路を使ってSPDLプロセスを呼び出した処理へ 転送されてもよいし,ブレークページ又はバナーページ上に印刷されてもよい。 この経路の構造とプロトコルについては,この規格では定義しない。

BLOCK is performed by the presentation process. ]]> このブロックの下位にある内容又は構造が, それ以上提示プロセスによって処理されることはない。 BLOCK in which the exception occurs is a PAGE, then the PAGE shall be presented. ]]> しかし,例外が発生しているブロックがページである場合, そのページは,提示される。 そのページ上に提示されるページ像は,実装依存とする。 PAGE in which the exception arose had not been present. ]]> このページより前のすべてのページは,例外が発生したページなど無かった かのように,正しく提示されなければならない。

BLOCK, the same structure exception arises in the most immediately superior BLOCK. ]]> あるブロックで処理されない例外が発生した場合,同じ構造例外が, 直接の上位ブロックにおいても発生する。 BLOCK will depend on the value of the abort-policy presentation parameter in that BLOCK. ]]> 直接の上位ブロック内の構造例外の結果は, そのブロックにおけるabort-policy提示パラメータの値によって異なる。

DOCUMENT (to which there is no superior BLOCK) then processing of the document terminates. ]]> 処理されない例外が文書(これについては,上位ブロックが存在しない。) で発生した場合,その文書の処理は,終了する。 DOCUMENT is a single PAGE, then one page image shall be presented; the page image presented on this page shall be implementation dependent. ]]> 文書が単一のページである場合,1個のページ像が提示される。 このページ上に提示されるページ像は,実装依存とする。

内容例外

RaiseException, and (in some circumstances) RaiseError or RaiseWarning. ]]> 内容例外は,内容処理の過程において,RaiseException及び (状況によっては)RaiseError又はRaiseWarnigのいずれかの演算子を 実行した結果として発生する。

RaiseException operator immediately causes a content exception to occur. ]]> RaiseException演算子の実行は,ただちに内容例外を発生させる。 ) or not. ]]> この例外は,内容中で処理されても,されなくてもよい(参照)。 ). ]]> 内容において処理されなかった場合,構造例外が発生する(参照)。

RaiseError operator does not itself cause a content exception to occur. ]]> RaiseError演算子の実行自体は,内容例外を引き起こさない。 error Procedure to be selected from the dictionary bound to the key ErrorDict in SystemDict, and the error Procedure is then executed. ]]> そのかわり,この演算子は、SystemDictのErrorDictキーに結び付けられた 辞書から一つのエラー処理手続きを選択し,このエラー処理手続きが 実行される。 RaiseException operator, thus causing a content exception to occur. (See for complete specification of error Procedures and their uses.) ]]> エラー処理手続きは,通常,RaiseException演算子を実行して終了し, この結果,内容例外が発生する。(エラー処理手続き及びその使用法についての詳しい 規定については,参照。) ErrorDict may be modified in content (see ). ]]> ErrorDictは,内容中で変更されてもよい(参照)。 error Procedure bound to a particular interpreter error name may be replaced, for example. ]]> 例えば,特別なインタプリタエラー名に結び付けられたエラー処理手続き は,置き換えられてもよい。

RaiseWarning operator typically does not cause a content exception to occur. ]]> RaiseWarning演算子の実行は,一般的には内容例外を発生させない。 そのかわり,この演算子は,実装依存の方法を用いて印刷依頼元に対して警告メッセージを 発行する。 dpi::abort-policy::on-warning, then, after issuing the warning message, RaiseError shall be invoked with ContentWarning as its operand. ]]> しかし,仮想機械の現中断方針構成要素がdpi::abort-policy::on-warning値 をもつ場合,警告メッセージが発行された後で,ContentWarningを オペランドとして,RaiseErrorを実行する。 ). ]]> これは,例外を引き起こす可能性がある(参照)。

内容例外処理

RaiseException operator. ]]> 内容例外は,RaiseException演算子実行の結果として生じる。 この演算子の解釈文脈によって,例外は,処理される場合も されない場合もある。 ExecuteTrapped operator, then the exception will be handled. ]]> ExecuteTrapped演算子によって呼び出される手続きの解釈中に, 例外が発生した場合,その例外は,処理される。 ExecuteTrapped operator is said to be executed in a trapped context. ]]> ExecuteTrapped演算子によって実行された手続きは, トラップされた文脈の中で実行される手続きと言われる。 その他の場合には,例外は処理されない。

処理される例外

ExecuteTrapped operator provides a mechanism for executing a Procedure in a context in which content exceptions will be trapped. ]]> ExecuteTrapped演算子は,内容例外をトラップすることのできる, ある文脈の中で手続きを実行するための機構を提供する。 ExecuteTrapped operator. ]]> 例外が発生した場合,手続き及びその副手続きの実行は,すべて停止する。 そして,ExecuteTrapped演算子の後に続く次のオブジェクトで 内容の処理が継続される。 例外がトラップされたことを示すために, 論理値の真がオペランドスタック上に置かれる。 (その手続きが,例外を引き起こすことなく最後まで解釈された場合, 論理値の偽がオペランドスタック上に置かれる。)

ExecuteTrapped operator allows it to be followed by an exception handler Procedure, defined by the document, which can be conditionally executed if an exception occurs. ]]> ExecuteTrapped演算子によって返された論理値の後に, 文書が定義する例外処理手続きが続いても良い。 これは,例外が生じた場合に選択的に実行することができる。

このように例外がトラップされて処理される場合, その結果は,完全に文書の管理下に置かれる。

処理されない例外

例外をトラップしていない文脈の中で内容例外が発生した場合,この内容例外は 処理されない。 ReportErrorInfo from ErrorDict is executed, and then a structure exception in the immediately superior BLOCK occurs. ]]> ErrorDict中の手続きReportErrorInfoが実行され,次に,構造例外が 直接の上位ブロックで発生する。

内容例外関連の演算子及び手続き

これらの演算子及びその意味に関する規定は,演算子を解釈した結 果として内容例外を発生させうる条件についての規定を含む。 共通エラーには,一つのクラスがある。 その中の幾つかの部分集合は,各演算子によって引き起こされ, それに対応した共通例外を発生させる可能性がある。 . ]]> これらの共通エラー及び意味については,で述べる。 through identify operator-specific errors that may lead to exceptions. ]]> 加えて,からまでで規定する個々の演算子仕様では, 例外を発生させる可能性のある演算子固有のエラーについて規定する。 . ]]> これらのエラーについても,で述べる。

RaiseException

RaiseException operator takes no arguments and returns no results. ]]> RaiseException演算子は,引数をとらず,結果も返さない。 これは,字句的な関係に関わらず,動的に閉じた最も内側のトラップされた文脈の 実行を終了させる。 , and the ExecuteTrapped operator itself in . ]]> トラップされた文脈の使用方法は,で,ExecuteTrapped演算子そのもの については,で述べる。 content-warning or content-error as appropriate. ]]> このようなトラップされた文脈がない場合,内容処理は,終了される。 そして,構造プロセサに返される状態は,場合に応じてcontent-warning 又はcontent-errorとされなければならない。 これらの二つの状態値は,処理されない内容例外であることを示す。

RaiseError

RaiseError演算子は,次に示す1個のオペランドをとり,結果を返さない。 <

  • <

    RaiseError operator is to execute the Procedure bound to error in ErrorDict. ]]> RaiseError演算子を実行すると,ErrorDictの中でerrorに結び 付けられている手続きが実行される。

    RaiseWarning

    RaiseWarning operator takes one operand ]]> RaiseWarning演算子は,次に示す1個のオペランドをとり,結果を返さない。 <

  • <

    RaiseWarning operator is to execute the Print operator with warning as an operand, and then conditionally invoke RaiseError with ContentWarning as its operand. ]]> RaiseWarning演算子を実行すると, warningをオペランドとしてPrint演算子が実行され,条件によっては ContentWarningをオペランドとしてRaiseErrorを実行する。 RaiseError is based on the Current AbortPolicy of the Virtual Machine; see . ]]> RaiseErrorを実行するかどうかは, 仮想機械の現中断方針に基づいて決定される(参照)。

    Print

    Print演算子は,次に示す1個のオペランドをとり,結果を返さない。 <

  • <

    message to be issued to the print requestor in an implementation-dependent way. ]]> この演算子は,実装依存の方法を用いて,印刷依頼元に対してmessageを 発行する。

    ExecuteTrapped

    ExecuteTrapped operator takes one operand ]]> ExecuteTrapped演算子は,次に示す1個のオペランドをとる。 <

  • <

    そして,次に示す1個の結果を返す。 <

  • <

    ExecuteTrapped executes the Procedure P (as if by the Execute operator). ]]> ExecutedTrappedは,(あたかもExecute演算子であるかのように) 手続きPを実行する。 P runs to completion normally, ExecuteTrapped returns a value of false on the Operand Stack. ]]> Pが正常に終了した場合,ExecuteTrappedは, 論理値P terminates prematurely as a result of executing the RaiseException operator, ExecuteTrapped returns the value true on the Operand Stack. ]]> RaiseException演算子を実行して途中で終了した場合, ExecuteTrappedは,論理値ExecuteTrapped operator. ]]> 結果がどちらであっても,インタプリタは,ExecuteTrapped演算子の後に続く, 次のオブジェクトから実行を再開する。

    StoreErrorInfo

    ErrorDict中のStoreErrorInfo手続きは, 次に示す1個のオペランドをとる。 <

  • <

    そして,次に示す1個の結果を返す。 <

  • <

    ErrorInfoDict (see ). ]]> この手続きは,インタプリタエラーが発生した時にインタプリタによって実行 される。これは,エラー及びそれが発生したときの文脈に関する情報を, ErrorInfoDict中に記録する()。

    StoreErrorInfo Procedure sets the value of the newerror key to true, then sets the values of the errorname, command, ostack, and cstack keys to the appropriate values (see ). ]]> 無指定時のStoreErrorInfo手続きは,newerrorキーの値を真に 設定し,次にerrorname,command,ostack及びcstackキーを 適切な値に設定する(参照)。 StoreErrorInfo key, but to ensure correct interpretation of subsequent document errors, the new StoreErrorInfo Procedure must set the newerror key in ErrorInfoDict to true as part of its execution, and must ensure that errorname remains on the stack following execution of the new StoreErrorInfo Procedure. ]]> 文書は,StoreErrorInfoキーの値を再定義してもよい。 しかし,後続する文書エラーを正しく解釈するために, この新しく定義されたStoreErrorInfo手続きは, その処理の一環としてErrorInfoDict中の項目newerrorを真に設定し, また,その実行後にスタック上にerrornameが残ることを保証しなければなら ない。

    StoreErrorInfo Procedure is explicitly executed by a document in content, an interpreter error occurs. ]]> 無指定時のStoreErrorInfo手続きが内容中で明示的に実行された場合, インタプリタエラーが発生する。

  • StoreErrorInfo always accessible from the current context of interpretation, an exact copy of the StoreErrorInfo key/value pair of ErrorDict is maintained by the interpreter in SystemDict. ]]> StoreErrorInfoを現解釈文脈から常にアクセスできるようにするため, インタプリタは,ErrorDict中の,キーと値との対StoreErrorInfoの 完全な複製を,SystemDict中に保持する。
  • StoreErrorInfo is redefined, it is often necessary to redefine the value of the ReportErrorInfo Procedure as well (see ). ]]> StoreErrorInfoの値を再定義する場合,同時にReportErrorInfo手続き の値をも再定義することが,しばしば必要となる(参照)。

    ReportErrorInfo

    ReportErrorInfo Procedure in ErrorDict takes no operands and returns no results. ]]> ErrorDict内のReportErrorInfo手続きは,オペランドをとらず,結果も 返さない。 文書が処理しない例外を処理するために,インタプリタがこの手続きを実行する。 newerror key in ErrorInfoDict to false, then issues an error message to the print requestor in an implementation-dependent manner, based on the information in ErrorInfoDict (see ). ]]> これは,ErrorInfoDict内のnewerrorキーの値を偽に設定し,次に, ErrorInfoDict内の情報に基づいて,エラーメッセージを印刷依頼元に対して 実装依存の方法で発行する(参照)。

    ReportErrorInfo, but to ensure correct interpretation of subsequent document errors, the new ReportErrorInfo Procedure must set the newerror key in ErrorInfoDict to false as part of its execution. ]]> 文書は,ReportErrorInfoの値を再定義してもよい。しかし,後続する文書 エラーを正しく解釈するためには,この新しく定義されたReportErrorInfo 手続きは,その処理の一環として,ErrorInfoDict中のnewerrorキーを偽に 設定しなければならない。

    ReportErrorInfo is executed other than from within a content exception handler Procedure, the results are implementation-dependent and may be meaningless, but no interpreter error occurs. ]]> 無指定時のReportErrorInfoが,内容例外処理手続き中以外で実行された 場合,その結果は実装依存であり無意味であるかもしれないが,インタプリタエラーは 発生しない。 ReportErrorInfo always accessible from the current context of interpretation, an exact copy of the ReportErrorInfo key/value pair of ErrorDict is maintained by the interpreter in SystemDict. ]]> ReportErrorInfoを現解釈文脈から常にアクセスできるようにするため, インタプリタは,ErrorDict中の,キーと値との対ReportErrorInfoの 完全な複製をSystemDict中に保持する。

    インタプリタエラー

    Timeout, Most interpreter errors occur only during the interpretation of an value of type Operator in content. Most ---> most ]]> Timeoutの場合を除いて,多くのインタプリタエラーは,内容中で 演算子型の値を解釈する際にだけ発生する。 Timeout shall occur only between the execution of objects and StackOverflow may occurl when interpreting a value other than an Operator as well as when interpreting an Operator. occurl ---> occur ]]> しかし,Timeoutは,一つのオブジェクトの実行から次のオブジェクトの実行の 間にだけ発生し,StackOverflowは,一つの演算子を解釈している時はもちろん, 演算子以外の値を解釈している時にも発生する可能性がある。 divide by zero and syntax error. ]]> インタプリタエラーは,0による除算や構文エラー等のさまざまな原因に よって起きる可能性がある。

    インタプリタエラーが発生した場合,内容プロセサはオペランドスタックを, エラーを引き起こした演算子を解釈する直前の状態に戻そうとする。 この試みが成功するかどうかは,実装依存とする。 次に,インタプリタは,その演算子値をオペランドスタック上に積む。 ) on the Operand Stack and executes the RaiseError operator. ]]> 最後に,インタプリタは,インタプリタエラーの名前(参照)をオペランド スタックに積み,RaiseError演算子を実行する。 RaiseError operator is executed directly by the interpreter, without searching for a value bound to the name RaiseError in the Context Stack. ]]> このRaiseError演算子は,文脈スタック内の名前RaiseErrorに結び 付けられた値を探すことなく,インタプリタによって直接実行される。

    RaiseError operator. ]]> 内容プロセサのその後の動作は,このRaiseError演算子によって 実行されたエラー処理手続きによって制御される。

    エラー処理手続き及びエラー辞書

    StoreErrorInfo Procedure from ErrorDict, then execute the RaiseException operator. ]]> すべての無指定時エラー処理手続きは,インタプリタエラーに対応する名前を オペランドスタック上に置き,次に,ErrorDictからStoreErrorInfo手続き を実行し,次に,RaiseException演算子を実行する。

    ErrorDict include the StoreErrorInfo Procedure, the ReportErrorInfo Procedure, and the set of all error-specific Procedures (see for a list of all errors). ]]> ErrorDictの無指定時の内容は,StoreErrorInfo手続き, ReportErrorInfo手続き,及びすべてのエラー固有手続きを含む。 (エラーリストについては参照。) ErrorDict itself is bound to the key ErrorDict in SystemDict. ]]> ErrorDictそれ自体への参照は,SystemDictのErrorDictキーに 結び付けられている。

    ErrorInfoDict, and their semantics, are described in . ]]> ErrorInfoDictの無指定時の内容,及びその意味は,で述べる。 ErrorInfoDict itself is bound to that key ErrorInfoDict in SystemDict. ]]> ErrorInfoDictそれ自体への参照は,SystemDictのErrorInfoDict キーに結び付けらている。

    起きる可能性のあるインタプリタエラー

    次に,起きる可能性のあるインタプリタエラー及びその意味の無指定時のリスト を示す。 与えられた実装上において起きる可能性のあるインタプリタエラーのリストは,こ のリストの上位集合であってもよい。 各エラーの結果として起こる例外の名前は,元となったエラーの名前と同一である 。 この規格の意味付けによれば,一つの与えられた演算子の実行に際して 複数の例外が発生する場合がある。実際に発生する例外は実装が定義する。

    この規格全体を通して,演算子の意味についての記述は,その演算子の実行の際に 例外を引き起こす特定の諸条件を含んでいる。 これに加えて,ほとんど,どの演算子の実行中にも確実に例外を引き起こす共通 エラーがある。 InvalidAccess, LimitCheck, NoMemory, RangeCheck, StackOverflow, StackUnderflow, and TypeCheck. ]]> これらの共通エラーには,InvalidAccess,LimitCheck, NoMemory, RangeCheck,StackOverflow,StckUnderflow, 及びTypeCheckがある。 に,この規格で定義する,起きる可能性のあるインタプリタエラーのリストを示 す。 エラー 意味 ContentWarning RaiseWarning operator executed on a Virtual Machine in which the Current Abort Policy has a value of dpi::abort-policy::on-warning ]]> 現中断方針がdpi::abort-policy::on-warning値を もつ仮想機械で,RaiseWarning演算子が実行された。 ContextStackOverflow PushContextStack with a full Context Stack ]]> 文脈スタックがいっぱいの状態で,PuchContextStackを実行しようとした。 ContextStackUnderflow PopContextStack with no removable Dictionaries on the Context Stack ]]> 文脈スタック上に削除可能な辞書がない状態で,PopContextStackを実行しようとした。 DataError StreamObject that is input to a filter ]]> フィルタに入力されるStreamObjectの中に予期されない不正な文字がある。 InvalidAccess オブジェクトのアクセス属性に反するアクセスをしようとした。 NoAcesss attribute, upon attempting to read an object with an ExecuteOnly or NoAcesss attribute, or upon attempting to modify an object with a ReadOnly, ExecuteOnly or NoAcesss attribute. ]]> このエラーは,アクセス不可属性をもつたオブジェクトを実行しようとした 時,実行専用又はアクセス不可属性をもつたオブジェクトを読み込もう とした時,読み込み専用や実行専用やアクセス不可属性をもつた オブジェクトを修正しようとした時に起きる。 オペランドスタックにオブジェクト参照を入れることは,被参照オブジェクト をアクセスすることにはならない。 InvalidExit Exit operator executed outside any looping operator. ]]> 繰り返し演算子の外側で,Exit演算子が実行された。 InvalidFont FindFont ]]> FindFontに対するオペランドが不当。 InvalidRestore RestoreState when Context Stack or Operand Stack contains ObjectReferences to objects created after the SaveObject operand to RestoreState was created ]]> 文脈スタック又はオペランドスタックに, RestoreStateに対するSaveObjectオペランドが生成された後に 生成されたオブジェクトへのオブジェクト参照が含まれる時に, RestoreStateを実行しようとした。 IOError ストリームオブジェクトから読み出している間に実装依存のエラーが発生した。 LimitCheckLimitCheck 実装上の限界(固有の例外処理手続きが定義されていないもの)を超 過した。 NoCurrentPosition SetPosition, ArcToClockwise, or ArcToCounterClockwise when the current path is the null path ]]> 現パスが空パスである状態で,SetPosition, ArcToClockwise又はArcToCounterClockwise以外のパス構築演算子を 実行しようとした。 NoMemory 演算子を正常に実行させるのに十分なメモリがない。 RangeCheck 現在,実行中の演算子のオペランドである,あるオペランド値 又は辞書の中で,あるキーに結び付けられている値が,その型は正しいが, その演算子のオペランド値として認められる値の範囲外である。 RangeCheck shall occur ]]> オペランドが,その中に値が置かれる,ベクタ又はオクテット列オブジェクトへの 参照であり,複合オブジェクトがその値のすべてを保持するのに十分な容量がない 場合に,RangeCheckが発生する。 StackOverflow オペランドスタックの深さに関する実装上の限界を超過した。 StackUnderflow 実行中の演算子にとって十分なだけのオペランドがスタック上にない。 SyntaxError 内容交換様式(及び 参照)に適合しない文書内容があった。 Timeout 文書の処理に関する実装上の無指定時の時間制限,又は文書中のDPIを介して指定された時間制限を超過した。 TypeCheck 現在,実行中の演算子のオペランドの型が正しくない。 UndefinedKey 現在,実行中の演算子のオペランドとして与えられた キーが,その演算子の辞書オペランドの中にも,文脈スタック上のどの辞書の中にも, その演算子固有のものとしてその演算子が必要とする名前のリストの中にもない。 UndefinedResource FindResource ]]> FindResourceに与えられた 内部資源識別子オペランドに結び付けられた,指定の型の資源が存在しない。 UndefinedResult Divide by 0 or take the SquareRoot of a negative number ]]> オーバーフロー,アンダーフロー,又は0でDivide しようとしたり負数のSquareRootを求めるなどして,意味のない結果となった。 UnmatchedMark オペランドスタック上にマーク値がない。

    ErrorInfoDict

    ErrorInfoDict, and their semantics. ]]> 次の36.7.1から36.7.6までで,無指定時のErrorInfoDict中にある キーと値との対及びその意味について述べる。 必す(須)のキーと値との対は,すべての実装において存在しなければならない。 任意選択のキーと値との対は,実装によっては存在しなくてもよい。 この場合,存在しないキーと値との対についての無指定時値は,例外処理機能が仮定する。

    newerror

    必す(須)のキーと値との対<StoreErrorInfo Procedure, and is set to false by the ReportErrorInfo Procedure. ]]> 無指定時では,このキーの値は,StoreErrorInfo手続きでは真に設定され, ReportErrorInfo手続きでは偽に設定される。 newerror (see and ). ]]> 文書がこれらの手続きの値を変更する場合,newerrorを含む本来の意味を 維持しなければならない(及び参照)。

    errorname

    必す(須)のキーと値との対<. ]]> エラー名の完全なリストは,にある。

    command

    必す(須)のキーと値との対<TimeOut, its value may be undefined. ]]> エラーが起きた時点で解釈中の演算子がない場合には, その値は,解釈中のオブジェクトであってもよい。 Timeoutの場合には,その値は未定義でもよい。

    ostack

    snapshot of the entire Operand Stack immediately before the error occurred, stored as if by the MakeandStoreVector operator. ]]> 必す(須)のキーと値との対<スナップショットを含むベクタへの参照とする。 このベクタの形式は,MakeandStoreVector演算子によって格納された場合と 同一とする。

    dstack

    snapshot of the entire Context Stack immediately before the error occurred, stored as if by the ContextStack operator. ]]> 必す(須)のキーと値との対<スナップショットを含むベクタへの参照とする。 このベクタの形式は,ContextStack演算子によって格納された場合と同一とする。

    recordstacks

    StoreErrorInfo Procedure (see ) is to record the ostack and dstack snapshots. ]]> 任意選択のキーと値との対<StoreErrorInfo 手続き(参照)が,ostack及びdstackのスナップショットを記録 するかどうかを制御する。 真の値は,スタックの内容が記録されることを意味する。 偽の値は,スタックの内容が記録されないことを意味する。 ErrorInfoDict, the default StoreErrorInfo Procedure operates as if it were present and had the value true. ]]> このキーと値との対がErrorInfoDict内に存在しない場合,無指定時の StoreErrorInfo手続きは,この項目が存在し,かつその値が真であるかのように 動作する。

    印刷依頼元

    print requestor is an implementation defined channel which is sent information about the presentation of DOCUMENTs, including messages associated with errors and warnings. ]]> 印刷依頼元は,文書構造要素の提示に関する情報を 送る、実装定義の経路とする。 この情報には,エラー及び警告に関連付けられたメッセージをも含む。 この情報が提示されるかどうか,またどのように提示されるかは,実装依存とする。 この情報は文書の後に続く連続したページ上に提示されてもよく, 逆の経路を通ってSPDLプロセスを呼び出した処理へ送り返されてもよい。 あるいは,これらの処理が両方とも行われてもよい。 この経路の構造及びプロトコルについては,この規格では定義しない。