8

いくつかのファイルを処理するツールを書いています。このツールにはコマンドライン インターフェイスがありますが、サードパーティ コードからクラス ライブラリとして使用することもできます。エラーに対処するには、例外をスローするだけです。サードパーティのコードは例外を処理でき、コマンドライン インターフェイスはそれを出力して中止するだけかもしれません。ただし、致命的なエラーとは別に、致命的ではない状況が発生し、プロセスを続行できる可能性もあります。その場合は、「警告をスロー」して続行したいと考えています。

サードパーティ コードとコマンド ライン インターフェイスの両方で警告を処理できるようにするには、どうすれば警告を処理できますか?

4

2 に答える 2

5

例外をスローしないことをお勧めします。可能であれば回避する必要があります (リソースにコストがかかります)。代わりに、イベントを作成して発生させることができます。サード パーティのコードとコマンド ライン インターフェイスは、このイベントに署名するだけで済みます。

于 2012-09-15T18:12:18.573 に答える
2

これについても例外をスローします(エラー状態が実際に例外的であると仮定すると、それはまれであると予想されます)。

例外は必ずしも致命的ではありません。サードパーティのコードとコマンドラインコードがキャッチして処理できる特定の種類の例外をスローする必要があります。

例外処理のルールの1つは、処理方法を知っている例外を処理することです。エラーに特定の例外タイプがあり、それを文書化する場合、クライアントコードはそれを処理する方法を知っている必要があります。


コードを使用するための情報(ライブラリ内ですでに処理されているが、ユーザーが知りたいと思うかもしれない警告)を提供しようとしている場合は、トレースサブシステムを使用してトレースを出力できます。すべてのユーザーが行う必要があるのはリスナーを構成することであり、実行時に情報を取得できるようになります。

于 2012-09-15T18:06:57.420 に答える