最近、Python Koanを使ってPythonを学習しています。Pythonで例外を発生させる問題を思いつきました。具体的には、私はtry...except...
と混乱しています。ルーディーコーンRuby Koan 151 raising exceptionsについても同様の疑問があることを知っています。しかし、私はPython初心者であり、Rubyについては何も知らない。Python Koan 131例外を発生する
だからここ公案さ:
# You need to finish implementing triangle() in the file 'triangle.py'
from triangle import *
class AboutTriangleProject2(Koan):
# The first assignment did not talk about how to handle errors.
# Let's handle that part now.
def test_illegal_triangles_throw_exceptions(self):
# Calls triangle(0, 0, 0)
self.assertRaises(TriangleError, triangle, 0, 0, 0)
self.assertRaises(TriangleError, triangle, 3, 4, -5)
self.assertRaises(TriangleError, triangle, 1, 1, 3)
self.assertRaises(TriangleError, triangle, 2, 4, 2)
次は私がtriangle()
機能を終了することになっていますtriangle.py
def triangle(a, b, c):
# DELETE 'PASS' AND WRITE THIS CODE
if a == b and b == c and c == a:
return 'equilateral'
if a == b or b == c or a == c:
return 'isosceles'
else:
return 'scalene'
# Error class used in part 2. No need to change this code.
class TriangleError(StandardError):
pass
です。
try...except...
は、特定の基準が満たされていれば何かを行い、それ以外の場合は例外のように機能します。私の状況では、if ... then raise TriangleError
またはtry... except ...
を使用する必要がありますか?彼らの違いは何ですか?
ありがとうございました!