Ngoại lệ và xử lí ngoại lệ

Nhập vào 3 cạnh a,b,c của tam giác, trong đó xử lí ngoại lệ đầu vào:

  • Nhập 3 cạnh không phải là kiểu số
  • Nhập 3 cạnh không phải độ dài của tam giác
  • Nhập giá trị âm hoặc 0 cho a,b hoặc c

Em mới học phần này nên còn chưa rõ ạ. Mọi người cho em hỏi là làm thế nào để xử lí ngoại lệ 3 cạnh không phải là kiểu số với ạ. Em làm như dưới đây nhưng không được ạ!

try:
    a = float(input("A = "))
    b = float(input("B = "))
    c = float(input("C = "))
    if a<=0 or b<=0 or c<=0:
        raise ValueError("Canh cua tam giac phai la so duong!")
    if a+b<c or b+c<a or a+c<b:
        raise ValueError("Day khong phai do dai 3 canh tam giac. Hay nhap dung do dai 3 canh cua tam giac!")
except ValueError as x:
    print(x)
except ValueError:
    print("Hay nhap dung kieu so!")

Đầu tiên, bạn phải xử lý trường hợp đúng trước (tức những trường hợp nào là đúng)

Rồi những trường hợp nào ngoài những trường hợp đúng bên trên, thì là ngoại lệ, từ đó mới tính tiếp

Chứ không nên ngồi suy nghĩ có bao nhiêu trường hợp sai, vì trườgn hợp đúng thường ít, và trường hợp ngoài dự tính sẽ rất nhiều, không biết trước được.

6 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?