ルック次のコードでは、例外の新しいリストを投げます。 しかし、私はすべての例外をキャッチしたい。例外がある場合は、GUIにすべてのエラーのリストを送信したいと思います。
これを行うにはどうすればよいですか、すべての行をTry Catchで囲む必要がありますか?キャッチ複数の例外とは
答えて
リスト内にすべての例外が必要な場合は、各行を囲み、例外をリストに追加する必要があります。最後のチェックでは、リストのサイズが0より大きい場合はそのリストを例外として返します。あなたが本当にそのようなことをしたい場合は、あなたが可能な例外をキャッチし、またはリストに追加し、ラムダとセッターを実行キャッチしまう方法に設定するプロパティを委任することができ
List<CustomException> exceptionList = new ArrayList<CustomException>();
public void editProduct(String articleNumber, ...)
{
try{
product.setArticleNumber(articleNumber);
}catch(CustomException exception)
{
exceptionList.add(exception);
}
try{
product.setDescription(description);
}catch(CustomException exception)
{
exceptionList.add(exception);
}
try{
product.setLendable(lendable);
}catch(CustomException exception)
{
exceptionList.add(exception);
}
try{
product.setName(name);
}catch(CustomException exception)
{
exceptionList.add(exception);
}
try{
product.setPrice(price);
}catch(CustomException exception)
{
exceptionList.add(exception);
}
try{
product.setPlace(place);
}catch(CustomException exception)
{
exceptionList.add(exception);
}
}
:
次のコードを試すことができます。適切である場合
public void editProduct(String articleNumber, ...) {
int count=1;
Vector<String> v=new Vector<String>();
while(count<=6)
{
try{
switch(count)
{
case 1:product.setArticleNumber(articleNumber);break;//assume it will throw ArticalException
case 2:product.setDescription(description);break; //DescriptionException
case 3:product.setLendable(lendable);break; //LendableException
case 4:product.setName(name);break; //NameException
case 5:product.setPrice(price);break; //PriceException
case 6:product.setPlace(place);break; //PlaceException
}
count++;
}catch(Exception e)
{
v.add(e.getMessage);
count++;
/*
*suppose there is some exception like ArticalException,PriceException
*then it will store in vector and your program running continue
*and at last you have the list of all exceptions that are occured in program
*now you will take desired action what you want to do
**/
}
}
}
こんにちは、私はあなたのソリューションが好きです!私はそれがベストプラクティスであるかどうかわかりません 小さなことですが、セッターが失敗すると、カウントは同じになります。だからあなたは無限ループをしています。 スイッチの前、またはfinallyグループで増分できますか? – Demian
私のコードを見てください..カウント+ ++ステートメントがあります。スイッチとキャッチブロックの後にcount + +ステートメントがあります。 –
そうです...しかし、for(count = 1; count <= 6; count ++)は同じことを行います。はるかに読みやすいです。また、 'ProductException'をキャッチする必要があります。 'Exception'をキャッチすることは、予期しない例外が検証エラーとしてユーザに報告されるため、悪い考えです。 –
- 1. キャッチ例外を複数回 - C#
- 2. キャッチ例外は
- 3. キャッチ例外は
- 4. キャッチ(例外)とキャッチ(例外ex)の違い
- 5. 検証フォームで複数の例外をキャッチするには
- 6. キャッチ例外:
- 7. XML例外キャッチ
- 8. キャッチ例外
- 9. Firebaseキャッチ例外
- 10. PHPジェネレータ:キャッチ例外と
- 11. フォーマット例外 - キャッチと試し
- 12. はctypesのキャッチ例外
- 13. カサブランカの複数のタスクから例外をキャッチする方法
- 14. 複数の例外のキャッチを防ぐ方法
- 15. ラムダ例外のキャッチ
- 16. Pythonの - キャッチ例外
- 17. テストのキャッチ例外
- 18. 複数の例外とコードカバレッジユニットテストパイソン
- 19. 複数のcatchブロックベース例外クラスでキャッチ対
- 20. VB.NETで複数の例外を同時にキャッチ
- 21. C#キャッチmssqltriger例外
- 22. 例外をコンパイル/キャッチ
- 23. キャッチFULL例外メッセージ
- 24. Jboss ESBキャッチ例外
- 25. iframe例外をキャッチ
- 26. Akkaペイロード例外キャッチ
- 27. dynamic_castポインタ例外キャッチ
- 28. マキシモAnywhereのキャッチされない例外:キャッチされない例外TypeError:win.doc.getCSSCanvasContextは(compiled_code)
- 29. キャッチされない例外TypeError:$(...)関数
- 30. clrのホスティングとスレッド例外のキャッチ
例外が発生した場合、なぜ製品を変更しようとしますか?例外が発生した場合は、問題があることを示します。あなたがそれを編集しようとする前の状態に残しておくべきです(*有効なJava *はこれを「失敗した原子性」と呼んでいます(http://stackoverflow.com/questions/29842845/what- i-term-of-that-that-beneficial-in-of-of-that-of-that-of-j-bloch-and-how- –
こんにちは、私はユーザーにさまざまなエラーを表示したい: ' - 説明はありません - 価格はありません - ...' – Demian
ここでは例外は何ですか?これらのメソッドはシンプルなセッターですか?ここで例外が発生する可能性... – GOXR3PLUS