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

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

7
AppDomain.CurrentDomain.BaseDirectoryまたはSystem.Environment.CurrentDirectoryを使用する必要がありますか?
同じフォルダに2つのexeファイルがあります。exe1のボタンからexe2を実行できます。今日、リモート(ターミナルサービス)セッションで顧客を監視していて、exe2が「ファイルが見つかりません」エラーを実行できませんでしたが、チェックしたときにexe1は同じディレクトリにありました。では、AppDomain.CurrentDomain.BaseDirectoryまたはSystem.Environment.CurrentDirectoryを使用する必要がありますか? ありがとう
86 c#  exception 

3
Pythonのジェネリックキャッチ
サイレント例外が発生するような非常に奇妙な動作があります。すべての例外をデバッグできる一般的なtrycatchを作成するにはどうすればよいですか。次のようなもの: try: # something that fails except e: print e 手元にある問題についてもう少し詳しく説明します。 私のコンピューター(Ubuntu Linux 8.10)ではrunserverとmod-pythonの両方で正常に動作するDjangoアプリがあります。デプロイサーバー(Ubuntu Linux 8.10)では、runserverを介して正常に動作しますが、mod-pythonのapacheを介して失敗します。 Berkeley DB(bsddb.db)とセカンダリキーを使用するアプリの一部に原因を絞り込みました。二次キーのコールバックメソッドは、pickleを使用してキーをフォーマットします。単一の値でpickleを呼び出すと失敗します。ただし、cPickleを使用した場合にのみ失敗し、コールバック関数の外部で同じ値にpickleを使用することもできます。 cPickleで失敗する理由を知りたいだけです。
86 python  exception 

7
RuntimeExceptionをスローするメソッドは、メソッドシグネチャでそれを示す必要がありますか?
たとえば、frameworks / JDKの多くのメソッドがスローする可能性があります java.lang.SecurityException ただし、これはメソッドシグネチャには示されていません(これは通常、チェックされた例外のために予約されているためです)。メソッドsigsでRuntimeExceptionsを宣言することには、多くの利点があることを主張したいと思います(たとえば、静的型チェックに似ています)。私は酔っていますか、それともそうではありませんか?

10
SQLServerで同じ例外を再スローする方法
tryブロックで発生したばかりのSQLServerで同じ例外を再スローしたいと思います。同じメッセージをスローできますが、同じエラーをスローしたいと思います。 BEGIN TRANSACTION BEGIN TRY INSERT INTO Tags.tblDomain (DomainName, SubDomainId, DomainCode, Description) VALUES(@DomainName, @SubDomainId, @DomainCode, @Description) COMMIT TRANSACTION END TRY BEGIN CATCH declare @severity int; declare @state int; select @severity=error_severity(), @state=error_state(); RAISERROR(@@Error,@ErrorSeverity,@state); ROLLBACK TRANSACTION END CATCH RAISERROR(@@Error, @ErrorSeverity, @state); この行にはエラーが表示されますが、そのような機能が必要です。これにより、エラー番号50000のエラーが発生しますが@@error、渡したエラー番号をスローしたいのですが、 フロントエンドでこのエラーをキャプチャしたいと思います。 すなわち catch (SqlException ex) { if ex.number==2627 MessageBox.show("Duplicate value …

2
Rubyで例外をキャッチした後、(同じ例外を)消去します
例外をキャッチしてRubyスキルを向上させようとしています。複数のメソッド呼び出しがある場合に、同じ種類の例外を再発生させるのが一般的かどうかを知りたいです。それで、次のコードは意味がありますか?同じ種類の例外を再発生させても大丈夫ですか、それともプロセスメソッドでそれをキャッチするべきではありませんか? class Logo def process begin @processed_logo = LogoProcessor::create_image(self.src) rescue CustomException raise CustomException end end end module LogoProcessor def self.create_image raise CustomException if some_condition end end
86 ruby  exception 

5
Pythonでファイルを読み取ろうとするときに例外を処理するための良い方法は何ですか?
Pythonで.csvファイルを読みたい。 ファイルが存在するかどうかはわかりません。 私の現在の解決策は以下の通りです。2つの別々の例外テストがぎこちなく並置されているので、私にはだらしなく感じます。 それを行うためのより良い方法はありますか? import csv fName = "aFile.csv" try: with open(fName, 'rb') as f: reader = csv.reader(f) for row in reader: pass #do stuff here except IOError: print "Could not read file:", fName


4
C ++例外処理ランタイムはどのように実装されていますか?
C ++の例外処理メカニズムがどのように機能するかに興味があります。具体的には、例外オブジェクトはどこに保存され、キャッチされるまで複数のスコープをどのように伝播しますか?グローバルエリアに保管されていますか? これはコンパイラ固有である可能性があるため、誰かがg ++コンパイラスイートのコンテキストでこれを説明できますか?

1
.NETのjava.lang.IllegalStateException?
java.lang.IllegalStateExceptionJavaドキュメントからの説明: メソッドが違法または不適切な時間に呼び出されたことを通知します。つまり、Java環境またはJavaアプリケーションは、要求された操作に対して適切な状態ではありません。 IllegalStateException.NET-Frameworkに相当するものはありますか?
84 java  .net  exception 

18
Javaの真のソリューション:2つの文字列から2つの数値を解析し、それらの合計を返します
かなり愚かな質問です。与えられたコード: public static int sum(String a, String b) /* throws? WHAT? */ { int x = Integer.parseInt(a); // throws NumberFormatException int y = Integer.parseInt(b); // throws NumberFormatException return x + y; } それが良いJavaかどうかわかりますか?私が話しているのNumberFormatExceptionは、チェックされていない例外です。署名の一部として指定する必要はありませんsum()。さらに、私が理解している限り、チェックされていない例外の概念は、プログラムの実装が正しくないことを示すだけであり、さらに、チェックされていない例外をキャッチすることは、実行時に不良プログラムを修正するようなものであるため、悪い考えです。 誰かが次のことを明確にしてください: NumberFormatExceptionメソッドのシグネチャの一部として指定する必要があります。 独自のチェック済み例外(BadDataException)を定義し、NumberFormatExceptionメソッド内で処理して、として再スローする必要がありBadDataExceptionます。 独自のチェック済み例外(BadDataException)を定義し、正規表現のように両方の文字列を検証BadDataExceptionし、一致しない場合はスローする必要があります。 あなたの案? 更新: 想像してみてください。何らかの理由で使用する必要があるのはオープンソースフレームワークではありません。メソッドのシグネチャを見て、「OK、スローされることはない」と考えます。その後、ある日、例外が発生しました。正常ですか? アップデート2: 私sum(String, String)は悪いデザインだというコメントがいくつかあります。私は絶対に同意しますが、私たちが良いデザインを持っていれば元の問題は決して現れないと信じている人のために、ここに追加の質問があります: 問題の定義は次のようになりますString。数値がsとして格納されるデータソースがあります。このソースは、XMLファイル、Webページ、2つの編集ボックスを備えたデスクトップウィンドウなどです。 あなたの目標は、これらの2を取りString、それらをintsに変換し、「合計はxxxです」というメッセージボックスを表示するロジックを実装することです。 これを設計/実装するために使用するアプローチが何であれ、内部機能の次の2つのポイントがあります。 あなたが変換する場所Stringにint 2int秒追加する場所 私の元の投稿の主な質問は次のとおりです。 Integer.parseInt()正しい文字列が渡されることを期待します。悪い文字列を渡すときはいつでも、それはあなたのプログラムが正しくないことを意味します(「あなたのユーザーはばかです」ではありません)。一方でMUSTセマンティクスを持つInteger.parseInt()があり、他方で入力が正しくない場合に問題がない必要があるコードを実装する必要があります-SHOULDセマンティクス。 …


12
whileループを使用せずに最も内側の例外を見つけますか?
C#が例外をスローすると、内部例外が発生する可能性があります。私がやりたいのは、最も内側の例外、つまり、内側の例外がないリーフ例外を取得することです。これはwhileループで実行できます。 while (e.InnerException != null) { e = e.InnerException; } しかし、代わりにこれを行うために使用できるワンライナーがあるかどうか疑問に思いました。


8
入力文字列は、正しい形式ではありませんでした
私はC#を初めて使用し、Javaの基本的な知識はありますが、このコードを正しく実行できません。 これは単なる基本的な計算機ですが、プログラムを実行すると、VS2008で次のエラーが発生します。 私はほぼ同じプログラムを実行しましたが、JavaではJSwingを使用しており、完全に機能しました。 これがc#の形式です: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace calculadorac { public partial class Form1 : Form { int a, b, c; String resultado; public Form1() { InitializeComponent(); a = Int32.Parse(textBox1.Text); b = Int32.Parse(textBox2.Text); } private void button1_Click(object …

7
いつ、どのように例外処理を使用する必要がありますか?
例外処理について読んでいます。例外処理とは何かについていくつかの情報を入手しましたが、いくつか質問があります。 いつ例外をスローしますか? 例外をスローする代わりに、戻り値を使用してエラーを示すことはできますか? try-catchブロックですべての関数を保護すると、パフォーマンスが低下しませんか? いつ例外処理を使用しますか? そのプロジェクトのすべての関数にtry-catchブロックが含まれているプロジェクトを見ました(つまり、関数全体のコードがtry-catchブロックで囲まれています)。これは良い習慣ですか? try-catchと__try__exceptの違いは何ですか?

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