Thử ngoại trừ python không hoạt động

Các câu lệnh ngoại trừ thử là một cấu trúc lựa chọn khác trong Python. Giống như câu lệnh

  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
5,
  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
6 và
  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
7, câu lệnh try-ngoại trừ chọn một khối mã cụ thể để chạy dựa trên một điều kiện. Không giống như các mệnh đề
  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
5,
  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
6 và
  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
7, các khối try-ngoại trừ không dựa trên các điều kiện logic. Các khối ngoại trừ thử dựa trên việc một dòng hoặc một phần mã có trả về lỗi hay không

Do đó, trước khi tìm hiểu cách sử dụng câu lệnh try-ngoại trừ, chúng ta cần hiểu 2 loại lỗi trong Python. lỗi cú pháp và lỗi ngoại lệ

Lỗi cú pháp

Lỗi cú pháp là một loại lỗi trong Python xảy ra khi cú pháp trong một dòng mã không phải là mã Python hợp lệ. Lỗi cú pháp bao gồm dấu ngoặc kép không đóng và tên biến không bắt đầu bằng một chữ cái

Dòng mã bên dưới có lỗi cú pháp. Chuỗi

if 'a' == 'b':
    string = 10problems
1 thiếu dấu ngoặc kép
if 'a' == 'b':
    string = 10problems
2

Trong 1]

________số 8

  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal

Khi bạn gặp lỗi cú pháp trong Python, trình thông dịch Python sẽ hiển thị
if 'a' == 'b':
    string = 10problems
3 và thường là một thông báo khó hiểu

Ngay cả khi một dòng mã không chạy khi chương trình được thực thi, lỗi cú pháp trong Python không được phép. Chẳng hạn, một dòng mã được thụt vào sau câu lệnh if

if 'a' == 'b':
    string = 10problems
4 sẽ không được thực thi. Nhưng nếu dòng mã thụt vào có lỗi cú pháp, trình thông dịch Python vẫn đánh dấu lỗi đó là lỗi cú pháp và không hoàn thành chương trình

Trong 2]

if 'a' == 'b':
    string = 10problems

  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
3

lỗi ngoại lệ

Lỗi cú pháp là những dòng mã không hợp lệ Python. Một loại lỗi khác trong Python là lỗi ngoại lệ. Lỗi ngoại lệ xảy ra khi một dòng mã Python hợp lệ không thể chạy. Các dòng mã có lỗi ngoại lệ chứa mã Python hợp lệ, nhưng dòng mã đó vẫn không thể thực thi

Ví dụ: câu lệnh

if 'a' == 'b':
    string = 10problems
5 là mã Python hợp lệ. Nhưng nếu tập tin tập tin. txt không tồn tại, Python đưa ra lỗi ngoại lệ vì không thể thực thi
if 'a' == 'b':
    string = 10problems
5

Trong 3]

  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
6

  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
7

Một dòng mã Python hợp lệ khác là
if 'a' == 'b':
    string = 10problems
7, nhưng nếu
if 'a' == 'b':
    string = 10problems
8 được định nghĩa là một số nguyên, thì không thể lập chỉ mục cho
if 'a' == 'b':
    string = 10problems
8 và hiển thị lỗi ngoại lệ

Trong [4]

  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
1

  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
2

Các câu lệnh thử ngoại trừ có thể được sử dụng để thử chạy các phần mã Python có thể trả về lỗi ngoại lệ. Dưới đây là cú pháp chung của câu lệnh thử ngoại trừ.
  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
3

Chẳng hạn, nếu tệp tệp. txt không tồn tại, một dòng mã cố mở tệp. txt có thể được đưa vào câu lệnh

  File "", line 1
    string = "problem solving
                             ^
SyntaxError: EOL while scanning string literal
30

Tôi có thể sử dụng thử ngoại trừ trong Python không?

Khối try and except trong Python được sử dụng để bắt và xử lý các ngoại lệ . Python thực thi mã sau câu lệnh try như một phần “bình thường” của chương trình. Mã theo sau câu lệnh ngoại trừ là phản hồi của chương trình đối với bất kỳ ngoại lệ nào trong mệnh đề thử trước đó.

Tôi có thể sử dụng thử ngoại trừ trong vòng lặp Python không?

Tiếp tục xử lý lỗi—Thử, ngoại trừ, tiếp tục. Nếu bạn cần xử lý các ngoại lệ trong một vòng lặp, hãy sử dụng câu lệnh continue để bỏ qua “phần còn lại của vòng lặp” . print["Nhưng tôi không quan tâm. "] cho số trong [1, 2, 3]. thử. in[x] ngoại trừ. print["Ngoại lệ bị ném"] print[" Nhưng tôi không quan tâm.

Bạn có nên tránh thử ngoại trừ Python không?

Khối except chỉ nên bắt những trường hợp ngoại lệ mà bạn chuẩn bị xử lý . Nếu bạn xử lý một lỗi không mong muốn, mã của bạn có thể làm sai và ẩn lỗi. Một mệnh đề khác sẽ thực thi nếu không có lỗi và bằng cách không thực thi mã đó trong khối thử, bạn sẽ tránh được lỗi không mong muốn.

Không cố gắng ngoại trừ dừng chương trình?

Khối try…ngoại trừ đã hoàn thành và chương trình sẽ tiếp tục. Tuy nhiên, nếu một ngoại lệ được đưa ra trong mệnh đề try, Python sẽ ngừng thực thi thêm bất kỳ mã nào trong mệnh đề đó và chuyển ngoại lệ cho mệnh đề except tới .

Chủ Đề