Hướng dẫn python sys exit with message - python sys thoát với tin nhắn

Bạn có thể gọi sys.exit () để thoát một quá trình.sys.exit() to exit a process.

Trong hướng dẫn này, bạn sẽ khám phá cách sử dụng sys.exit () với các quy trình cha và con bằng Python.sys.exit() with parent and child processes in Python.

Bắt đầu nào.

  • Sys.exit () là gì
  • sys.exit () và mã thoát
  • Cách sử dụng sys.exit ()
  • Thoát khỏi quy trình chính
  • Thoát khỏi quy trình trẻ em
  • Thoát khỏi quy trình chính với quy trình trẻ em
  • Đọc thêm
  • Takeaways

Sys.exit () là gì

sys.exit () và mã thoátsys.exit() function is described as exiting the Python interpreter.

Cách sử dụng sys.exit ()

Thoát khỏi quy trình chính

Thoát khỏi quy trình trẻ emsys.exit() function will raise a SystemExit exception.

Thoát khỏi quy trình chính với quy trình trẻ em

Đọc thêm

Takeaways

Hàm sys.exit () được mô tả là thoát khỏi thông dịch viên python.sys.exit() function takes an argument that indicates the success or failure of the exit status.

Tăng một ngoại lệ hệ thống, báo hiệu một ý định thoát khỏi thông dịch viên.None (the default) or zero indicates a successful , whereas a larger value indicates an unsuccessful exit.

-SYS-Các tham số và chức năng dành riêng cho hệ thống

Takeaways

Hàm sys.exit () được mô tả là thoát khỏi thông dịch viên python.

Tăng một ngoại lệ hệ thống, báo hiệu một ý định thoát khỏi thông dịch viên.

-SYS-Các tham số và chức năng dành riêng cho hệ thống

Khi được gọi, hàm sys.exit () sẽ tăng ngoại lệ hệ thống.sys.exit() to close our program.

Ngoại lệ này (thông thường) không bị bắt và bong bóng lên đến đỉnh của một chồng của luồng chạy, khiến nó và quá trình thoát ra.

sys.exit () và mã thoát

Cách sử dụng sys.exit ()

Thoát khỏi quy trình chínhmultiprocessing.Process.exitcode attribute.

Thoát khỏi quy trình trẻ em

  • Thoát khỏi quy trình chính với quy trình trẻ emexitcode will be None.
  • Đọc thêmexitcode will be 0.
  • Takeawaysexitcode will be 1.

Hàm sys.exit () được mô tả là thoát khỏi thông dịch viên python.exitcode can also be set via a call to sys.exit().

Tăng một ngoại lệ hệ thống, báo hiệu một ý định thoát khỏi thông dịch viên.sys.exit() with no arguments.

-SYS-Các tham số và chức năng dành riêng cho hệ thống

Khi được gọi, hàm sys.exit () sẽ tăng ngoại lệ hệ thống.
Download my FREE PDF cheat sheet

Cách sử dụng sys.exit ()

Thoát khỏi quy trình chínhsys.exit() function is used by simply making the function call.

Thoát khỏi quy trình trẻ emNone.

Thoát khỏi quy trình chính với quy trình trẻ em

Đọc thêm..

Takeaways

sys.exit().exit()

Hàm sys.exit () được mô tả là thoát khỏi thông dịch viên python.

Đọc thêm..

Takeaways

sys.exit(0).exit(0)

Hàm sys.exit () được mô tả là thoát khỏi thông dịch viên python.

Tăng một ngoại lệ hệ thống, báo hiệu một ý định thoát khỏi thông dịch viên.

-SYS-Các tham số và chức năng dành riêng cho hệ thống

Đọc thêm..

Takeaways

sys.exit(1).exit(1)

Hàm sys.exit () được mô tả là thoát khỏi thông dịch viên python.

Thoát khỏi quy trình chính với quy trình trẻ em

Đọc thêm..

Takeaways

Hàm sys.exit () được mô tả là thoát khỏi thông dịch viên python..exit('Something bad happened')

Tăng một ngoại lệ hệ thống, báo hiệu một ý định thoát khỏi thông dịch viên.sys.exit(), let’s look at some worked examples.


-SYS-Các tham số và chức năng dành riêng cho hệ thống

Khi được gọi, hàm sys.exit () sẽ tăng ngoại lệ hệ thống.

Ngoại lệ này (thông thường) không bị bắt và bong bóng lên đến đỉnh của một chồng của luồng chạy, khiến nó và quá trình thoát ra.

Điều này cho phép ngoại lệ để tuyên truyền đúng và khiến thông dịch viên thoát ra. Khi nó không được xử lý, thông dịch viên Python thoát ra; Không có dấu vết ngăn xếp được in.
 


Thoát khỏi quy trình chính

-Ngoại lệ tích hợpsys.exit().

Hàm sys.exit () có một đối số cho thấy sự thành công hoặc thất bại của trạng thái thoát.sys.exit() to demonstrate that indeed the program is terminated and additional code is unreachable.

Giá trị không có (mặc định) hoặc 0 cho biết thành công, trong khi giá trị lớn hơn cho thấy một lối thoát không thành công.

Nếu giá trị là một số nguyên, nó chỉ định trạng thái thoát hệ thống (được chuyển đến hàm thoát C L.); Nếu không có, trạng thái thoát bằng không; Nếu nó có một loại khác (chẳng hạn như một chuỗi), giá trị của đối tượng được in và trạng thái thoát là một.

Điều quan trọng, cuối cùng các hoạt động trong các mẫu thử-ngoại trừ và thử nghiệm cuối cùng được thực thi. Điều này cho phép một chương trình dọn dẹp trước khi thoát.

Các hành động dọn dẹp được chỉ định bởi các điều khoản cuối cùng của các tuyên bố thử được tôn vinhtime import sleep

-SYS-Các tham số và chức năng dành riêng cho hệ thốngsys

Trong chương trình đa xử lý, chúng tôi có thể thực hiện các cuộc gọi đến sys.exit () để đóng chương trình của chúng tôi.

Làm thế nào để sys.exit () tương tác với quy trình chính và quy trình con trong Python?('Main process running')

Mỗi quá trình Python có mã thoát.

sleep(2)(2)

Mã thoát của một quá trình có thể truy cập được thông qua thuộc tính đa xử lý.process.exitcode.

print('Exiting...')('Exiting...')

sys.exit(0).exit(0)

Quy trình thoát được đặt tự động, ví dụ:

Nếu quá trình vẫn đang chạy, Outscode sẽ không có.('Never gets here...')

Nếu quá trình thoát ra bình thường, lối ra sẽ là 0.

Nếu quá trình chấm dứt với một ngoại lệ chưa được thực hiện, mã thoát sẽ là 1.

Mã thoát cũng có thể được đặt thông qua cuộc gọi đến sys.exit ().sys.exit() to exit normally. The program terminates and the final print statement is never reached.

Ví dụ, một quy trình trẻ em có thể thoát với một cuộc gọi đến sys.exit () không có đối số.sys.exit() function is called, a SystemExit exception is raised in the main thread. The main thread terminates. As there are no other threads and no child processes, the main process terminates.

Quá trình chính đang chạy

Exiting...

Tiếp theo, hãy để khám phá cuộc gọi sys.exit () từ một quá trình trẻ em.

Thoát khỏi quy trình trẻ em

Chúng ta có thể khám phá cuộc gọi sys.exit () từ một quá trình trẻ em.sys.exit() from a child process.

Trong ví dụ này, chúng tôi sẽ thực hiện một chức năng mới trong một quy trình trẻ em. Quá trình con sẽ báo cáo một tin nhắn, chặn một lúc, sau đó gọi thoát với giá trị là một để chỉ ra một lối thoát không thành công. Nó cũng sẽ bao gồm mã sau khi gọi để thoát để xác nhận rằng mã bổ sung không thể truy cập được. Quy trình chính sẽ báo cáo trạng thái và mã thoát của quy trình con.

Đầu tiên, chúng ta có thể xác định một chức năng để thực thi trong một quy trình trẻ em.

Hàm báo cáo một tin nhắn, khối, sau đó thoát với mã thoát của một.

Hàm nhiệm vụ () bên dưới thực hiện điều này.task() function below implements this.

# Nhiệm vụ được thực hiện trong một quy trình mới

nhiệm vụ def ():task():

& nbsp; & nbsp; & nbsp; & nbsp;# báo cáo một tin nhắn# report a message

& nbsp; & nbsp; & nbsp; & nbsp; in ('quy trình con chạy'))print('Child process running')

& nbsp; & nbsp; & nbsp; & nbsp;# block trong giây lát# block for a moment

    sleep(2)sleep(2)

& nbsp; & nbsp; & nbsp; & nbsp;# thoát khỏi quy trình con# exit the child process

    print('Exiting...')print('Exiting...')

    sys.exit(1)sys.exit(1)

& nbsp; & nbsp; & nbsp; & nbsp;# không bao giờ đến đây# never gets here

& nbsp; & nbsp; & nbsp; & nbsp; in ('không bao giờ đến đây ...')print('Never gets here...')

Tiếp theo, trong quy trình chính, chúng ta có thể tạo một phiên bản đa xử lý mới và cấu hình nó để thực thi hàm Task () của chúng ta.multiprocessing.Process instance and configure it to execute our task() function.

.....

# Tạo quy trình trẻ em

child=Process(target=task)=Process(target=task)

Sau đó chúng ta có thể bắt đầu quá trình và chờ nó chấm dứt.

.....

# Tạo quy trình trẻ em

child.start().start()

Sau đó chúng ta có thể bắt đầu quá trình và chờ nó chấm dứt.

child.join().join()

# Bắt đầu quá trình trẻ em

.....

# Tạo quy trình trẻ em

Sau đó chúng ta có thể bắt đầu quá trình và chờ nó chấm dứt.(f'Alive: {child.is_alive()}')

# Bắt đầu quá trình trẻ em

# Chờ quá trình trẻ em thoát ra(f'Exitcode: {child.exitcode}')

Cuối cùng, chúng ta có thể kiểm tra trạng thái đang chạy của quy trình con để xác nhận nó đã chấm dứt và báo cáo mã thoát.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

# Kiểm tra trạng thái của quá trình trẻ em

in (f'alive: {Child.is_alive ()} '))

# Kiểm tra mã thoáttime import sleep

print (f'exitcode: {trẻ.exitcode} '))multiprocessing import Process

Tying này lại với nhau, ví dụ hoàn chỉnh được liệt kê dưới đây.sys

# Nhiệm vụ được thực hiện trong một quy trình mới

nhiệm vụ def ():task():

& nbsp; & nbsp; & nbsp; & nbsp;# báo cáo một tin nhắn# report a message

& nbsp; & nbsp; & nbsp; & nbsp; in ('quy trình con chạy'))print('Child process running')

& nbsp; & nbsp; & nbsp; & nbsp;# block trong giây lát# block for a moment

    sleep(2)sleep(2)

& nbsp; & nbsp; & nbsp; & nbsp;# thoát khỏi quy trình con# exit the child process

    print('Exiting...')print('Exiting...')

    sys.exit(1)sys.exit(1)

& nbsp; & nbsp; & nbsp; & nbsp;# không bao giờ đến đây# never gets here

& nbsp; & nbsp; & nbsp; & nbsp; in ('không bao giờ đến đây ...')print('Never gets here...')

Tiếp theo, trong quy trình chính, chúng ta có thể tạo một phiên bản đa xử lý mới và cấu hình nó để thực thi hàm Task () của chúng ta.

if__name__=='__main__':__name__=='__main__':

...# create a child process

    child=Process(target=task)child=Process(target=task)

# Tạo quy trình trẻ em# start the child process

    child.start()child.start()

Sau đó chúng ta có thể bắt đầu quá trình và chờ nó chấm dứt.# wait for the child process to exit

    child.join()child.join()

# Bắt đầu quá trình trẻ em# check status of the child process

# Chờ quá trình trẻ em thoát raprint(f'Alive: {child.is_alive()}')

Cuối cùng, chúng ta có thể kiểm tra trạng thái đang chạy của quy trình con để xác nhận nó đã chấm dứt và báo cáo mã thoát.# check the exitcode

# Kiểm tra trạng thái của quá trình trẻ emprint(f'Exitcode: {child.exitcode}')

in (f'alive: {Child.is_alive ()} '))

# Kiểm tra mã thoát

print (f'exitcode: {trẻ.exitcode} '))sys.exit() with an exitcode of 1.

Tying này lại với nhau, ví dụ hoàn chỉnh được liệt kê dưới đây.

# SuperfastPython.comsys.exit().

# Ví dụ về việc thoát ra một quá trình trẻ em

từ thời gian nhập vào giấc ngủ

Exiting...

Từ quá trình nhập bộ xử lý đa xử lý

nhập khẩu sys

# Điểm vào

& nbsp; & nbsp; & nbsp; & nbsp;# tạo một quy trình consys.exit() in a parent process will not terminate the process if it has one or more running child processes.

& nbsp; & nbsp; & nbsp; & nbsp;# bắt đầu quá trình con

& nbsp; & nbsp; & nbsp; & nbsp;# chờ quá trình consys.exit(). The child process will continue running and will show that indeed the parent process is still alive, even after its call to sys.exit().

& nbsp; & nbsp; & nbsp; & nbsp;# kiểm tra trạng thái của quy trình con

& nbsp;multiprocessing.Process instance for the parent process via the multiprocessing.parent_process() function. Finally, the running status and exitcode of the parent process will be reported.

Hàm nhiệm vụ () bên dưới thực hiện điều này.task() function below implements this.

# chức năng được thực thi trong một quy trình mới

nhiệm vụ def ():task():

& nbsp; & nbsp; & nbsp; & nbsp;# báo cáo một tin nhắn# report a message

& nbsp; & nbsp; & nbsp; & nbsp; in ('quy trình con chạy', flush = true)print('Child process running',flush=True)

& nbsp; & nbsp; & nbsp; & nbsp;# chờ một chút# wait a moment

    sleep(2)sleep(2)

& nbsp; & nbsp; & nbsp; & nbsp;# Kiểm tra trạng thái của quy trình cha mẹ# check the status of the parent process

    parent=parent_process()parent=parent_process()

& nbsp; & nbsp; & nbsp; & nbsp;print(f'Alive: {parent.is_alive()}', flush=True)

& nbsp; & nbsp; & nbsp; & nbsp; print (f'exitcode: {Parent.exitcode} ')print(f'Exitcode: {parent.exitcode}')

Quy trình chính trước tiên sẽ định cấu hình phiên bản đa xử lý mới.multiprocessing.Process instance to execute the task() function, then start the child process.

.....

# Tạo một quy trình mới

child=Process(target=task)=Process(target=task)

# Bắt đầu quá trình mới

child.start().start()

Quá trình chính sau đó sẽ chặn trong giây lát.

.....

# Tạo một quy trình mới

sleep(1)(1)

# Bắt đầu quá trình mớisys.exit().

.....

# Tạo một quy trình mới

print('Exiting...')('Exiting...')

sys.exit().exit()

# Bắt đầu quá trình mới

.....

# Tạo một quy trình mới

# Bắt đầu quá trình mới('Never gets here...')

Quá trình chính sau đó sẽ chặn trong giây lát.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

# Khối trong giây lát

Sau đó, nó cố gắng chấm dứt với một cuộc gọi đến sys.exit ().

# Thoát khỏi quy trình chínhtime import sleep

Cuối cùng, mã bổ sung được liệt kê và không bao giờ đạt được, để xác nhận quy trình chính đã dừng lại.multiprocessing import Process

# Không bao giờ đến đâymultiprocessing import parent_process

In ('Không bao giờ đến đây ...')sys

# chức năng được thực thi trong một quy trình mới

nhiệm vụ def ():task():

& nbsp; & nbsp; & nbsp; & nbsp;# báo cáo một tin nhắn# report a message

& nbsp; & nbsp; & nbsp; & nbsp; in ('quy trình con chạy', flush = true)print('Child process running',flush=True)

& nbsp; & nbsp; & nbsp; & nbsp;# chờ một chút# wait a moment

    sleep(2)sleep(2)

& nbsp; & nbsp; & nbsp; & nbsp;# Kiểm tra trạng thái của quy trình cha mẹ# check the status of the parent process

    parent=parent_process()parent=parent_process()

& nbsp; & nbsp; & nbsp; & nbsp;print(f'Alive: {parent.is_alive()}',flush=True)

& nbsp; & nbsp; & nbsp; & nbsp; print (f'exitcode: {Parent.exitcode} ')print(f'Exitcode: {parent.exitcode}')

Quy trình chính trước tiên sẽ định cấu hình phiên bản đa xử lý mới.

if__name__=='__main__':__name__=='__main__':

...# create a new process

    child=Process(target=task)child=Process(target=task)

# Tạo một quy trình mới# start the new process

    child.start()child.start()

# Bắt đầu quá trình mới# block for a moment

    sleep(1)sleep(1)

Quá trình chính sau đó sẽ chặn trong giây lát.# exit the main process

    print('Exiting...')print('Exiting...')

    sys.exit()sys.exit()

# Khối trong giây lát# never gets here

Sau đó, nó cố gắng chấm dứt với một cuộc gọi đến sys.exit ().print('Never gets here...')

# Thoát khỏi quy trình chính

Cuối cùng, mã bổ sung được liệt kê và không bao giờ đạt được, để xác nhận quy trình chính đã dừng lại.sys.exit().

# Không bao giờ đến đâysys.exit().

In ('Không bao giờ đến đây ...')

Tying này lại với nhau, ví dụ hoàn chỉnh được liệt kê dưới đây.sys.exit() in the main process terminated the main thread of the main process, but did not terminate the main process itself. The reason is because the main process will not terminate if it has one or more non-daemon child processes running, which it does in this case.

# SuperfastPython.comsys.exit() in parent processes that have running child processes.

# Ví dụ về việc thoát khỏi quy trình chính trong khi trẻ đang chạyprocess running

Exiting......

Alive:True:True

Exitcode:None:None

từ thời gian nhập vào giấc ngủos._exit() function can be used instead of sys.exit() to forcefully exit a process.

Từ quá trình nhập bộ xử lý đa xử lý

Từ đa xử lý nhập khẩu Parent_Process

.....

# Tạo một quy trình mới

print('Exiting...')('Exiting...')

os._exit(os.EX_OK)._exit(os.EX_OK)

# Bắt đầu quá trình mớios._exit() function is more forceful than sys.exit() in that it will not execute finally blocks or other handlers, and will exit a process, even if it has running child processes.

Quá trình chính sau đó sẽ chặn trong giây lát.

# Khối trong giây lát

Quá trình chính sau đó sẽ chặn trong giây lát.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

# Khối trong giây lát

Sau đó, nó cố gắng chấm dứt với một cuộc gọi đến sys.exit ().

# Thoát khỏi quy trình chínhtime import sleep

Cuối cùng, mã bổ sung được liệt kê và không bao giờ đạt được, để xác nhận quy trình chính đã dừng lại.multiprocessing import Process

# Không bao giờ đến đâymultiprocessing import parent_process

In ('Không bao giờ đến đây ...')os

# chức năng được thực thi trong một quy trình mới

nhiệm vụ def ():task():

& nbsp; & nbsp; & nbsp; & nbsp;# báo cáo một tin nhắn# report a message

& nbsp; & nbsp; & nbsp; & nbsp; in ('quy trình con chạy', flush = true)print('Child process running',flush=True)

& nbsp; & nbsp; & nbsp; & nbsp;# chờ một chút# wait a moment

    sleep(2)sleep(2)

& nbsp; & nbsp; & nbsp; & nbsp;# Kiểm tra trạng thái của quy trình cha mẹ# check the status of the parent process

    parent=parent_process()parent=parent_process()

& nbsp; & nbsp; & nbsp; & nbsp;print(f'Alive: {parent.is_alive()}',flush=True)

& nbsp; & nbsp; & nbsp; & nbsp; print (f'exitcode: {Parent.exitcode} ')print(f'Exitcode: {parent.exitcode}')

# Điểm vào

if__name__=='__main__':__name__=='__main__':

& nbsp; & nbsp; & nbsp; & nbsp;# tạo một quy trình mới# create a new process

    child=Process(target=task)child=Process(target=task)

& nbsp; & nbsp; & nbsp; & nbsp;# Bắt đầu quy trình mới# start the new process

    child.start()child.start()

& nbsp; & nbsp; & nbsp; & nbsp;# block trong giây lát# block for a moment

    sleep(1)sleep(1)

& nbsp; & nbsp; & nbsp; & nbsp;# thoát khỏi quy trình chính# exit the main process

    print('Exiting...')print('Exiting...')

    os._exit(os.EX_OK)os._exit(os.EX_OK)

& nbsp; & nbsp; & nbsp; & nbsp;# không bao giờ đến đây# never gets here

& nbsp; & nbsp; & nbsp; & nbsp; in ('không bao giờ đến đây ...')print('Never gets here...')

Chạy ví dụ tạo và bắt đầu quá trình trẻ em.

Quá trình cha mẹ sau đó được thoát ra một cách mạnh mẽ.

Điều này khiến quá trình trẻ em mồ côi không có quy trình cha mẹ đang chạy.

Các khối quy trình con, sau đó thức dậy và báo cáo trạng thái của quy trình cha mẹ của nó.

Trong trường hợp này, chúng ta có thể thấy rằng thực sự quá trình cha mẹ không còn chạy nữa. Điều quan trọng, chúng ta có thể thấy rằng hàm os._exit () không đặt chính xác mã thoát của quy trình chính.os._exit() function does not correctly set the exit code of the main process.

Quá trình trẻ chạy

Exiting...

Sống: Sai

EXITCODE: Không có

Đọc thêm

Phần này cung cấp các tài nguyên bổ sung mà bạn có thể thấy hữu ích.

API

  • Đa xử lý-song song dựa trên quy trình
  • PEP 371 - Bổ sung gói đa xử lý

Hướng dẫn

  • Đa xử lý Python: Hướng dẫn hoàn chỉnh

Sách

  • Tờ Cheat API mô -đun đa xử lý
  • Câu hỏi phỏng vấn API đa xử lý
  • Python Multiprocessing Jump-Start, Jason Brownlee, 2022 (cuốn sách của tôi!).my book!).

Takeaways

Bây giờ bạn đã biết cách sử dụng sys.exit () với các quy trình của cha mẹ và con cái trong Python.sys.exit() with parent and child processes in Python.

Bạn có câu hỏi nào không? Đặt câu hỏi của bạn trong các ý kiến ​​dưới đây và tôi sẽ cố gắng hết sức để trả lời.
Ask your questions in the comments below and I will do my best to answer.

Ảnh của Viktor Ritsvall trên unplash

Làm thế nào để bạn thoát một tin nhắn trong Python?

Thoát () các sys. Hàm thoát () được mô tả là thoát khỏi thông dịch viên Python. Tăng một ngoại lệ hệ thống, báo hiệu một ý định thoát khỏi thông dịch viên. The sys. exit() function is described as exiting the Python interpreter. Raise a SystemExit exception, signaling an intention to exit the interpreter.

Có tốt không khi sử dụng Sys Easit trong Python?

Không giống như thoát () và thoát (), sys.exit () được coi là tốt để được sử dụng trong mã sản xuất cho mô -đun SYS luôn có sẵn. Đối số tùy chọn ARG có thể là một số nguyên đưa ra lối ra hoặc một loại đối tượng khác. Nếu đó là một số nguyên, Zero được coi là chấm dứt thành công.sys. exit() is considered good to be used in production code for the sys module is always available. The optional argument arg can be an integer giving the exit or another type of object. If it is an integer, zero is considered “successful termination”.

Sys thoát 1 làm gì trong Python?

Thoát (1) có nghĩa là có một số vấn đề / lỗi / vấn đề và đó là lý do tại sao chương trình đang thoát.Đây không phải là Python cụ thể và khá phổ biến.Một mã thoát khác không được coi là một lối thoát bất thường và đôi khi, mã lỗi cho biết vấn đề là gì.Mã lỗi bằng không có nghĩa là một lối thoát thành công.there was some issue / error / problem and that is why the program is exiting. This is not Python specific and is pretty common. A non-zero exit code is treated as an abnormal exit, and at times, the error code indicates what the problem was. A zero error code means a successful exit.

Sys thoát mã là mã thoát nào?

Nếu một loại đối tượng khác được truyền, không có loại nào tương đương với số 0 và bất kỳ đối tượng nào khác được in cho stderr và kết quả là mã thoát 1. đặc biệt, sys.exit ("Một số thông báo lỗi") là một cách nhanh chóng đểThoát khỏi một chương trình khi xảy ra lỗi.some error message") is a quick way to exit a program when an error occurs.