例外を発生させる

プログラムを書いていると、ある条件によって通常の実行の流れを変更する必要が生じることがあります。Pythonは、そのような状況を処理するための仕組みとして例外を提供しています。例外は、プログラムの制御フローを変更するイベントです。Pythonでは、raise文を使用してプログラムの任意の場所で手動で例外を発生させることができます。
raise文の簡単な例を示します:
x = -1
if x < 0:
    # xが負の場合は例外を発生させる
    raise Exception('xは負であってはなりません')
このプログラムでは、xの値が0未満であれば、Exception型の例外が「xは負であってはなりません」というメッセージとともに発生します。このプログラムを実行すると、raise文のところで停止し、次のように例外メッセージが出力されます:
Exception: xは負であってはなりません
Exceptionの他にも、Pythonにはさまざまな組み込みの例外があり、より具体的な種類のエラーを発生させるために使用できます。例えば、ValueErrorを発生させる方法は次のとおりです:
def sqrt(n):
    if n < 0:
        # nが負の場合はValueErrorを発生させる
        raise ValueError('負の数の平方根は定義されていません')
    return n ** 0.5

print(sqrt(4))    # 2.0
print(sqrt(-1))   # ValueError: 負の数の平方根は定義されていません
この例では、関数sqrt(n)は数nの平方根を計算しようとします。しかし、nが負の場合、特定のメッセージとともにValueErrorを発生させます。
raiseで例外を発生させると、プログラムの流れが中断されることに注意してください。これは、多くの場合望ましい動作であり、プログラムが対処できない予期しない事態が発生したことを知らせることができます。特定の例外の種類とメッセージは、エラーの性質についての詳細な情報を提供します。

チャレンジ:ファイルリーダー

大手ソフトウェア企業では、ディレクトリ内に複数のコードファイルがあります。あなたは、ファイルを開いてその内容を返すPythonの関数を作成するよう求められました。しかし、その関数はファイルが存在しない場合にも適切に対応できなければなりません。
関数への入力はファイル名です。
その関数はファイルを読み取り、その内容を返すべきです。ファイルが存在しない場合には、FileNotFoundErrorを発生させる必要があります。
入力
出力
existing_file.txt
Hello World
nonexistingfile.txt
File does not exist
 

Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue