Overview
概要
NSAssertionHandler
objects are automatically created to handle false assertions. Assertion macros, such as NSAssert
and NSCAssert
, are used to evaluate a condition, and if the condition evaluates to false, the macros pass a string to an NSAssertionHandler
object describing the failure. Each thread has its own NSAssertionHandler
object. When invoked, an assertion handler prints an error message that includes the method and class (or function) containing the assertion and raises an NSInternalInconsistencyException
.
NSAssertionHandler
オブジェクトは、falseアサーションを取り扱うために自動的に作成されます。アサーションマクロ、例えばNSAssert
およびNSCAssert
は、ある条件を評価するために使われます、そしてその条件をfalseに評価するならば、それらマクロはある文字列をNSAssertionHandler
オブジェクトに渡してその失敗を解説します。各スレッドはそれ自身のNSAssertionHandler
オブジェクトを持ちます。発動される場合、あるアサーションハンドラは、アサーションを含んでいるメソッドとクラス(または関数)を含んでいるエラーメッセージを出力します、そしてNSInternalInconsistencyException
を起こします。
You create assertions only using the assertion macros—you rarely need to invoke NSAssertionHandler
methods directly. The macros for use inside methods and functions send handleFailureInMethod:object:file:lineNumber:description:
and handleFailureInFunction:file:lineNumber:description:
messages respectively to the current assertion handler. The assertion handler for the current thread is obtained using the currentHandler
class method. See NSAssertionHandlerKey if you need to customize the behavior of NSAssertionHandler
.
あなたは、アサーションをアサーションマクロを使ってのみ作成します — あなたはめったにNSAssertionHandler
メソッドを直接に発動する必要はありません。メソッドおよび関数の内側で使うためのマクロは、handleFailureInMethod:object:file:lineNumber:description:
およびhandleFailureInFunction:file:lineNumber:description:
メッセージをそれぞれ現在のアサーションハンドラに送ります。現在のスレッドのためのアサーションハンドラは、currentHandler
クラスメソッドを使って取得されます。NSAssertionHandlerKeyを見てください、もしあなたがNSAssertionHandler
の挙動を好みに合わせて変更する必要があるならば。