タグ付けされた質問 「exception」

例外は、プログラムの通常のフローからの逸脱を必要とする異常な状態です。通常、例外が原因で完全な障害が発生することはなく、例外ハンドラーが付きます。例外処理は、多くのプログラミング言語に組み込まれている構造です。通常、例外はスタックを巻き戻し、例外のスコープ外の定義された状態にロールバックしてからハンドラーブロックまたはルーチンを呼び出すことによって処理されます。

25
ネストされたディレクトリを安全に作成するにはどうすればよいですか?
ファイルが書き込まれるディレクトリが存在するかどうかを確認し、存在しない場合はPythonを使用してディレクトリを作成する最もエレガントな方法は何ですか?これが私が試したものです: import os file_path = "/my/directory/filename.txt" directory = os.path.dirname(file_path) try: os.stat(directory) except: os.mkdir(directory) f = file(filename) どういうわけか、私は逃したos.path.exists(カンジャ、ブレア、ダグラスに感謝)。これは私が今持っているものです: def ensure_dir(file_path): directory = os.path.dirname(file_path) if not os.path.exists(directory): os.makedirs(directory) これを自動的に行う「オープン」のフラグはありますか?

5
1行で複数の例外をキャッチ(ブロックを除く)
私ができることを知っています: try: # do something that may fail except: # do this if ANYTHING goes wrong 私もこれを行うことができます: try: # do something that may fail except IDontLikeYouException: # say please except YouAreTooShortException: # stand on a ladder しかし、私が2つの異なる例外の中で同じことをしたい場合、私が今考えることができる最善はこれを行うことです: try: # do something that may fail except IDontLikeYouException: # say please except …


28
一度に複数の例外をキャッチしますか?
単に捕まえるのはお勧めしませんSystem.Exception。代わりに、「既知の」例外のみをキャッチする必要があります。 さて、これは時々不必要な反復的なコードにつながる、例えば: try { WebId = new Guid(queryString["web"]); } catch (FormatException) { WebId = Guid.Empty; } catch (OverflowException) { WebId = Guid.Empty; } 私は疑問に思います:両方の例外をキャッチし、WebId = Guid.Empty呼び出しを1回だけ呼び出す方法はありますか? 与えられた例はだけなので、かなり単純GUIDです。しかし、オブジェクトを複数回変更するコードを想像してください。操作の1つが予期した方法で失敗した場合は、を「リセット」する必要がありobjectます。ただし、予期しない例外が発生した場合でも、さらに高く設定したいと思います。

30
JUnit 4テストで特定の例外がスローされるとどのように主張しますか?
JUnit4を慣用的に使用して、一部のコードが例外をスローすることをテストするにはどうすればよいですか? 私は確かにこのようなことをすることができますが: @Test public void testFooThrowsIndexOutOfBoundsException() { boolean thrown = false; try { foo.doStuff(); } catch (IndexOutOfBoundsException e) { thrown = true; } assertTrue(thrown); } これらの種類の状況では、アノテーションやAssert.xyzなど、JUnitに比べてそれほど扱いづらくなく、はるかに強力なものがあることを思い出します。
2000 java  exception  junit  junit4  assert 

10
最新のPythonでカスタム例外を宣言する適切な方法は?
最新のPythonでカスタム例外クラスを宣言する適切な方法は何ですか?私の主な目標は、他の例外クラスの標準に従うことです。これにより、(たとえば)例外に含めた余分な文字列は、例外をキャッチしたツールによって出力されます。 「最新のPython」とは、Python 2.5で動作するものの、Python 2.6およびPython 3. *のやり方では「正しい」ものを意味します。「カスタム」とは、エラーの原因に関する追加のデータを含むことができるExceptionオブジェクトを意味します。文字列、おそらく例外に関連する他の任意のオブジェクトもです。 Python 2.6.2で次の非推奨の警告が表示されました。 >>> class MyError(Exception): ... def __init__(self, message): ... self.message = message ... >>> MyError("foo") _sandbox.py:3: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 BaseExceptionという名前の属性に特別な意味があるのはおかしいようmessageです。私がPEP-352から収集した属性は、2.5で特別な意味を持っていたため、廃止しようとしているので、その名前(およびその1つだけ)は現在禁止されていると思いますか?ああ。 Exception魔法のパラメータがあることもぼんやりと認識していますがargs、その使用方法は知りません。また、それが将来のことを行うための正しい方法であると確信していません。私がオンラインで見つけた多くの議論は、彼らがPython 3の引数を取り除こうとしていることを示唆していました。 更新:2つの回答により、、__init__および__str__/ __unicode__/のオーバーライドが提案されています__repr__。タイピングが多いようですが、必要ですか?

30
「java.lang.OutOfMemoryError:PermGen space」エラーへの対処
最近、私のWebアプリケーションでこのエラーに遭遇しました: java.lang.OutOfMemoryError:PermGen space これは、Tomcat 6およびJDK 1.6で実行される典型的なHibernate / JPA + IceFaces / JSFアプリケーションです。どうやらこれは、アプリケーションを数回再デプロイした後に発生する可能性があります。 何が原因で、それを避けるために何ができますか?どうすれば問題を解決できますか?





21
Javaでのチェック済み例外とチェックなし例外の理解
「Effective Java」のジョシュア・ブロックは、 回復可能な状態にはチェック済み例外を使用し、プログラミングエラーには実行時例外を使用します(第2版のアイテム58) 私がこれを正しく理解しているか見てみましょう。 チェック済み例外についての私の理解は次のとおりです。 try{ String userInput = //read in user input Long id = Long.parseLong(userInput); }catch(NumberFormatException e){ id = 0; //recover the situation by setting the id to 0 } 1.上記はチェック済み例外と見なされますか? 2. RuntimeExceptionは未チェックの例外ですか? 未チェックの例外についての私の理解は次のとおりです。 try{ File file = new File("my/file/path"); FileInputStream fis = new FileInputStream(file); }catch(FileNotFoundException e){ //3. …

10
同じcatch句で複数のJava例外をキャッチできますか?
Javaでは、私はこのようなことをしたいです: try { ... } catch (/* code to catch IllegalArgumentException, SecurityException, IllegalAccessException, and NoSuchFieldException at the same time */) { someCode(); } ...の代わりに: try { ... } catch (IllegalArgumentException e) { someCode(); } catch (SecurityException e) { someCode(); } catch (IllegalAccessException e) { someCode(); } catch (NoSuchFieldException e) { …

17
キャッチできないChuckNorrisException
仮説をキャッチできないようにするJavaのコードのスニペットを構築することは可能java.lang.ChuckNorrisExceptionですか? 頭に浮かんだ考えは、たとえばインターセプターやアスペクト指向プログラミングを使用しています。

26
IllegalArgumentExceptionまたはnullパラメータのNullPointerException?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 プロパティの単純なセッターメソッドnullがあり、この特定のプロパティには適していません。私は常にこの状況で引き裂かれました:IllegalArgumentException、またはをスローする必要がありNullPointerExceptionますか?javadocsからは、どちらも適切と思われます。何らかの理解された基準はありますか?それとも、これはあなたが好きなことをすべきものの1つにすぎず、両方とも本当に正しいのですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.