Hướng dẫn dùng raise exception python
Trong bài này chúng ta sẽ tìm hiểu Exception trong Python, đây là mã lệnh giúp xử lý các lỗi từ cơ bản đến nâng cao trong quá trình lập trình Python. Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Một exception có thể được xem là một đoạn code bất thường trong một chương trình dẫn đến sự gián đoạn trong dòng chảy của chương trình đó, hay còn gọi là lỗi. Bất cứ khi nào có exception xảy ra, chương trình sẽ dừng thực thi nên các đoạn mã phía dưới không được biên dịch. Do đó, một exception là lỗi mà trình biên dịch python không thể chạy được. 1. Các exception trong Python có sẵnPython cung cấp cho chúng ta cách xử lý exception để giúp chương trình không bị gián đoạn. Vì vậy với những đoạn code bạn cảm thấy không an toàn thì hãy đưa nó vào một exception. Bài viết này được đăng tại [free tuts .net] Dưới đây là danh sách những exception thường được sử dụng trong lập trình Python:
Tuy nhiên, bạn có thể tự tạo ra các exception trong Python bằng cách sử dụng từ khóa except (mình sẽ trình bày nó ở phần cuối cùng của bài viết này). 2. Chuyện gì xảy ra nếu không dùng exception?Như chúng ta đã thảo luận ở trên, exception là một lệnh điều kiện bắt lỗi trong quá trình thực thi chương trình. Hãy xem xét ví dụ sau. a = int(input("Enter a:")) b = int(input("Enter b:")) c = a/b; print("a/b = %d"%c) #other code: print("Vị trí khác của chương trình") Giả sử mình nhập số a = 10, b = 0, chạy chương trình lên sẽ có kết quả như sau: Có thể bạn quan tâmEnter a:10 Enter b:0 Traceback (most recent call last): File "exception-test.py", line 3, in Như vậy bạn sẽ nhận được một thông báo lỗi ZeroDivisionError. Để bắt lỗi này và giúp chương trình không bị gián đoạn thì ta sử dụng lệnh Enter a:10 Enter b:0 Traceback (most recent call last): File "exception-test.py", line 3, in6. 3. Lệnh try ... except trong PythonNếu chương trình python chứa những đoạn code đáng ngờ thì bạn hãy đặt chúng vào một exception, bằng cách ném chúng vào một khối lệnh try .. except. Thường trong try là đoạn code nghi ngờ có lỗi, trong except là đoạn code thông báo lỗi hoặc trả về lỗi. Bạn có thể định nghĩa nhiều except. Cú pháp try: #block of code except Exception1: #block of code except Exception2: #block of code #other code Chúng ta cũng có thể sử dụng từ khóa ELSE kết hợp trong try-except để thực thi những đoạn code trong trường hợp except-block không chạy. try: #block of code except Exception1: #block of code else: #Đoạn này sẽ chạy nếu except block không chạy Ví dụ try: a = int(input("Enter a:")) b = int(input("Enter b:")) c = a/b; print("a/b = %d"%c) except Exception: print("Không thể chia cho 0") else: print("Đây là đoạn code ELSE") Kết quả: Enter a:10 Enter b:2 a/b = 5 Đây là đoạn code ELSE 4. Except bị thiếu exceptionỞ các ví dụ trên mình đã xác định rõ lỗi cho các except bằng cách đặt tên lỗi phía sau, lúc này nếu đoạn code nào trong try block bị lỗi nào thì sẽ chạy đoạn code ở except tương ứng với lỗi đó. except Exception: Tuy nhiên bạn hoàn toàn có thể bỏ từ khóa Exception như ở ví dụ dưới đây. try: a = int(input("Enter a:")) b = int(input("Enter b:")) c = a/b; print("a/b = %d"%c) except: print("Không thể chia cho 0") else: print("Đoạn code trong Else") Lúc này dù thể loại lỗi là gì đi nữa thì lỗi đó vẫn được ném vào except. Tóm lại bạn cần phải ghi nhớ những điều sau:
Vi dụ try: #Đoạn này sẽ sinh ra lỗi nếu file không tồn tại. fileptr = open("file.txt","r") except IOError: print("File không tồn tại") else: print("File mở thành công") fileptr.close() 5. Khai báo nhiều exceptionNếu bạn muốn nhiều exception cùng thực hiện chung một đoạn code thì sử dụng cú pháp sau để kai báo. except ( Ví dụ Enter a:10 Enter b:0 Traceback (most recent call last): File "exception-test.py", line 3, in0 6. Khối finaly trong ExceptionNếu khối else sẽ được thực hiện nếu không có exception nào được sinh ra thì khối finany sẽ luôn luôn được thực thi vì nó là một khối đặc biệt. Cú pháp của nó như sau: Enter a:10 Enter b:0 Traceback (most recent call last): File "exception-test.py", line 3, in1 Ví dụ Enter a:10 Enter b:0 Traceback (most recent call last): File "exception-test.py", line 3, in2 7. Nhảy exception với từ khóa raiseỞ những ví dụ trên sẽ sinh ra những exception mà Python có hỗ trợ. Trường hợp bạn muốn tự định nghĩa exception, hoặc nhảy đến exception nào đó thì có thể sử dụng từ khóa raise. Cú pháp: Enter a:10 Enter b:0 Traceback (most recent call last): File "exception-test.py", line 3, in3 Ví dụ: Enter a:10 Enter b:0 Traceback (most recent call last): File "exception-test.py", line 3, in4 Nếu bạn chạy và nhập tuổi bé hơn 18 thì sẽ xuất hiện lỗi "Tuổi quá nhỏ". 8. Tự tạo exception trong PythonPython cho phép chúng ta tạo ra các exception bằng cách sử dụng từ khóa except. Mình khuyên bạn nên đọc phần này sau khi học xong kiến thức về lớp, bởi để định nghĩa một exception thì bạn phải sử dụng class. Ví dụ: Tự tạo ra exception ErrorInCode. Enter a:10 Enter b:0 Traceback (most recent call last): File "exception-test.py", line 3, in5 Như mình đã nói ở trên, vì trong ví dụ này có sử dụng class để tạo ra một đối tượng exception nên bạn phải hiểu về class-object thì mới hiểu được. Trên là cách sử dụng exception để xử lý ngoại lệ trong Python. Hy vọng qua bài này bạn sẽ hiểu và vận dụng trong quá trình học tập và làm việc với Python. |
Bài Viết Liên Quan
Khóa học cấp tốc về python phiên bản thứ 2 phần giới thiệu thực hành, dựa trên dự án về lập trình pdf
Khóa học về sự cố Python. Sau đây là phần đánh giá cuốn sách Python Crash Course, 2nd Edition. Giới thiệu thực hành, dựa trên dự án về lập trình của Eric ...
Lịch trình Lễ hội hóa trang Ambrosia 2023
Năm 2024, lễ hội hóa trang là ngày 11 tháng 2. Ngày trong tuần là Chủ nhật và nó rơi vào tuần thứ 6 của nămLễ hội hóa trang Ý 2022 diễn ra khi nào?Trong năm nay, ...
Công cụ lưu trữ mysql
Công cụ lưu trữ là một mô-đun phần mềm mà hệ thống quản lý cơ sở dữ liệu sử dụng để tạo, đọc, cập nhật dữ liệu từ cơ sở dữ liệu. Có hai ...
JavaScript có thể NHẬN dữ liệu bài đăng không?
JavaScript có các mô-đun và phương thức tuyệt vời để tạo các yêu cầu HTTP có thể được sử dụng để gửi hoặc nhận dữ liệu từ tài nguyên phía máy ...
2023 Santa Fe spare tire
ông già NoelPhụ Kiện & Phụ Kiện Xe Hyundai Santa CruzĐây là những phụ tùng và phụ kiện chính thức của Hyundai Santa Cruz. Mua sắm qua danh mục của chúng tôi để ...
Làm thế nào để bạn làm tròn toán học trong python?
Round() là một chức năng tích hợp sẵn với python. Nó sẽ trả về cho bạn một số float sẽ được làm tròn đến vị trí thập phân được cung cấp làm đầu ...
Js có khó hơn c++ không?
Python thường được so sánh với các ngôn ngữ thông dịch khác như Java, JavaScript, Perl, Tcl hoặc Smalltalk. So sánh với C++, Common Lisp và Scheme cũng có thể làm sáng ...
Tại sao hình nền của tôi không hiển thị trong html
Phần tử body bao phủ khung nhìn, do đó, việc đặt hình ảnh làm nền cho phần thân ban đầu sẽ bao phủ khung nhìn (nói đúng ra là hình ảnh thực sự được ...
Lớp trăn google
Trang web này được hỗ trợ rộng rãi bởi DataCamp. DataCamp cung cấp Hướng dẫn Python tương tác trực tuyến cho Khoa học dữ liệu. Tham gia cùng 575.000 người học ...
CSS loại bỏ không gian thừa xung quanh văn bản
Trình tự của khoảng trắng là. Các ký tự dòng mới trong nguồn được xử lý giống như các khoảng trắng khác. Các dòng bị ngắt khi cần thiết để điền vào ...
Giải thích biến tĩnh trong PHP
Tĩnh là một từ khóa PHP có nhiều cách sử dụng. Nó gần như được sử dụng phổ biến, mặc dù có nhiều biến thể của nó. Hãy xem xét tất cả năm người ...
When are Pentecost holidays BW 2023?
Ở nhiều cộng đồng, lễ hội thu hoạch là một trong những điểm nổi bật của mùa thu nếu không thì khá ảm đạm. Một mặt, cần thể hiện niềm vui của ...
Truy vấn Google Trang tính không khớp
Chức năng Google Sheets QUERY là một trong những chức năng mạnh mẽ nhất trong Google Sheets. Nó rất linh hoạt và có thể được áp dụng cho các vấn đề đơn giản ...
Tạo phân lớp python
Python là ngôn ngữ hướng đối tượng ngay từ đầu. Bởi vậy, việc tạo ra và sử dụng các lớp và các đối tượng là hết sức dễ dàng. Bài viết này sẽ ...
Giá trị tối đa của MySQL max_allowed_packet
Trang sau cung cấp hướng dẫn về quy trình cập nhật giá trị tham số RDS cho max_allowed_packet thành 64Mb (67108864) bằng ba tùy chọn. Terraform, CloudFormation và Bảng ...
Tệp css không tải
Maps JavaScript API cho phép bạn tùy chỉnh bản đồ với nội dung và hình ảnh của riêng bạn để hiển thị trên các trang web và thiết bị di động. API JavaScript ...
Làm cách nào để chuyển đổi một ô excel thành html?
Công cụ này giúp tạo một trang web HTML bằng cách sử dụng dữ liệu trong tệp Excel. Tệp HTML kết quả có thể được xem trên trang web hoặc có thể được sử ...
Kia Sportage 2023 có vấn đề về động cơ?
Kia Sportage là một chiếc SUV nhỏ gọn đã được sản xuất từ năm 1993. Nó hiện đang ở thế hệ thứ tư. Sportage là mẫu xe bán chạy nhất của Kia ...
JavaScript có chuyển chuỗi theo tham chiếu không?
Như đã thảo luận ở trên, truyền theo tham chiếu có thể được sử dụng bằng cách truyền tham chiếu của một đối số trong hàm gọi đến tham số của hàm ...
Ký tự nào hiển thị tên đầy đủ tháng trong ngày trong php?
MySQL MONTHNAME() trả về tên đầy đủ của tháng cho một ngày nhất định. Giá trị trả về nằm trong phạm vi từ 1 đến 12 ( Tháng 1 đến Tháng 12). Nó trả về ...