1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonによるオブジェクト指向プログラミング入門

Connected

演習

例外を補足する

独自のカスタム例外を書く前に、まずは例外処理の基本をしっかり確認しましょう。

この演習では、2つの引数、リスト x とインデックス ind を受け取り、そのインデックスの要素を反転(逆数に)する関数 invert_at_index(x, ind) が与えられています。たとえば、invert_at_index([5,6,7], 0) は 1/5、つまり 0.2 を返します。

あなたの目標は、発生したエラーの種類に応じてカスタム例外を発生させられるよう、エラー処理を実装することです。

指示

100 XP

関数内で try - except - except パターン(except ブロックは2つ)を使って、次の2つの例外を捕捉して処理してください。

  • まずはそのままコードを try 実行し、1/x[ind] を返します。
  • ZeroDivisionError が発生したら、"Cannot divide by zero!" と表示します。
  • IndexError が発生したら、"Index out of range!" と表示します。

正しくできていれば、エラーなくコードが実行され、コンソールの出力は次のようになります。

0.16666666666666666
Cannot divide by zero!
None
Index out of range!
None