-1

こんにちは、私はPythonプログラミングの初心者です。私はプロジェクトをすることによって自分自身を学んでいます。エラーを捕捉してIFとELSE文を使用する方法は?

以下のコードは問題なく動作していますが、条件が偽の場合は例外をキャッチしたいと考えています。ディレクトリが存在しない場合は、すでに印刷するステートメントがあります。続けてください。 if文を入れ子にしてこのコードを動作させることができます。

しかし、私はしたくありません。私は次のコード行に進んでいきたいと思います。私はこれをそのまま実行すると、ディレクトリが見つからない場合にエラーが発生します。

import os 
goToDir = open("URPsetup.dat","r") 
goToDirPath = goToDir.read() 

if (os.path.exists(goToDirPath))== True: 
os.chdir(goToDirPath) 
else: print("directory not found, please check file URPsetup.dat") 

goToConfig = open("utility.dat", "r") 
print(goToConfig.read()) 

ディレクトリが存在しない場合、このエラーメッセージが表示されます。ここで意味することは、 "URPsetup.dat"で提供されたディレクトリが間違っていたことです。上記のelseステートメントでコードが停止するかどうかを確認するために、これを目的に実行しました。 else文を出力し、続けて次のエラーメッセージを表示します。どのように私はこのエラーをキャッチし、停止するのですか?

directory not found, please check file URPsetup.dat 
Traceback (most recent call last): 
File "C:/Users/R82436/PycharmProjects/URP2017/prototype.py", line 9, in  <module> 
goToConfig = open("utility.dat", "r") 
FileNotFoundError: [Errno 2] No such file or directory: 'utility.dat' 
directory not found, please check file URPsetup.dat 

Process finished with exit code 1 
+0

ファイルが存在しない場合、どのように「続行」したいですか? – AetherUnbound

+0

ディレクトリが間違っているというメッセージを表示するだけです。私は意図的に間違ったディレクトリを提供しました。私が正しいディレクトリを指定した場合、それは動作します – Dean

+0

あなたは「私はエラーが発生します」と言っていますが、エラーの内容やコードのどの部分が原因であるのかはわかりません。取得している例外の完全なトレースバックを提供するために質問を編集してください。それは何がうまくいかないのかを特定し、おそらく私たちはあなたを助けることができます。その情報がなければ、私たちはあなたが持っている問題が何かを推測することができます。 – Blckknght

答えて

-2

私はあなたがこの探しているGUESS:

import sys 
. 
. 
else: 
    print("directory not found, please check file URPsetup.dat") 
    sys.exit() 
. 
. 

OR、これはあまりにもうまくを行います:トリックを行います

# No need to import sys 
. 
. 
else: 
    print("directory not found, please check file URPsetup.dat") 
    raise SystemExit(0) 
. 
. 

を;)

そして、次回に問題を正しく説明しようとすると、あなたがしたいことが何であるかを完全にはっきりさせることはできません。

+0

はすごくうまくいった!ありがとうございます – Dean

+0

私はまた何かを見つけました:import sysを使用する代わりに、あなたはraise SystemExit(0) –

関連する問題