必要な入力パラメーターがnilである場合、Objective-Cメソッドで例外をスローしますか?
-
26-10-2019 - |
質問
Objective-Cでの例外の一般的なガイダンスの使用に注意してください(例: Objective-C/Cocoaに例外を投げます)私はまだこのケースについてはよくわかりません:
必要な入力パラメーターがベストプラクティス/OKである場合、Objective-Cメソッドに例外をスローしますか?
いいえの場合、ここでObjective-Cでどのようなアプローチが典型的になりますか?
解決
それは有効な例外、またはアサートでさえあります(これは例外をスローします)。そこには NSParameterAssert
マクロは、あなたが望むことをすることをすでに定義しています。
他のヒント
NSASSERTは、開発者自身の利便性を目的としたものです。開発者は、仮定/条件などをチェックするためにそれを使用します。注意すべきことの1つは、NSASSERTがリリースビルドでコードにコンパイルされないことです。
実行時にコードへの無効な入力のケースを処理したい場合にのみ、これらの状況を対象としているため、状況のために@Throw nsexceptionを行います。
NSERRORSは、Appleが提供する別の施設でもあります。通常、プログラミングエラーではない不要な条件に使用されます(たとえば、Bluetoothハードウェアが障害があり、Bluetooth関連アプリケーションはそれに依存しています)
所属していません StackOverflow