cuốn sách gpt4 ai đã làm

c# - Xử lý ngoại lệ trong .net

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 22:07:20 25 4
mua khóa gpt4 Nike

Tôi đã hỏi một số câu hỏi ở đây và đọc một số bài viết về xử lý ngoại lệ, nhưng tôi không nghĩ mình đã thực sự nắm bắt được khi nào nên xử lý ngoại lệ và khi nào thì không. Từ những gì tôi đã đọc, tôi có thể hiểu "chỉ xử lý các trường hợp ngoại lệ mà bạn có thể khôi phục" nghĩa là gì. Tôi nên làm gì nếu không thể xử lý ngoại lệ? Nó có được sao lưu lên ngăn xếp không? Nếu không xử lý được thì làm cách nào để đăng nhập và hiển thị thông báo lỗi thân thiện với người dùng. Hầu hết mọi người làm gì trong các ứng dụng web và dịch vụ web?

Ví dụ: tôi có lớp dữ liệu thấp hơn lấy dữ liệu từ sql

try{
//làm gì đó với db
}bắt(SqlException cũ){
//tôi nên làm gì đây
//tôi có nên gọi lại mã để thử lấy lại dữ liệu từ db không
}bắt(Ngoại lệ cũ){
// tôi có nên bắt ngoại lệ của loại ngoại lệ không
}

Làm thế nào để xử lý các trường hợp ngoại lệ cấp thấp hơn? Tôi có nên để ngoại lệ nổi lên trong hệ thống phân cấp không? Nếu vậy, thì nếu tôi muốn nắm bắt các ngoại lệ của loại sqException, thì tôi cần tham chiếu đến thư viện sqException nằm trong đó, nhưng tôi chắc chắn không phải tham chiếu thư viện trong một lớp không liên quan gì đến việc truy cập dữ liệu.

câu trả lời hay nhất

Một số quy tắc cơ bản đơn giản:

  • Xử lý ngoại lệ yêu cầu trạng thái chương trình完全Trạng thái tương tự như trước khi mã gây ra ngoại lệ bắt đầu. Bạn sẽ cần rất nhiều lần bắt và cuối cùng là các khối để khôi phục các biến về trạng thái ban đầu.

  • Chỉ xem xét xử lý các ngoại lệ nếu việc nắm bắt chúng cho phép chương trình tiếp tục chạy một cách có ý nghĩa. Ví dụ: thật khó để làm bất cứ điều gì hữu ích khi máy chủ cơ sở dữ liệu ngoại tuyến và cũng có thể dừng chương trình.

  • Nếu bạn cần một người thực hiện hành động khắc phục (điều mà bạn hầu như luôn làm), hãy đảm bảo rằng cô ấy có đủ thông tin để khắc phục vấn đề. Hãy để ngoại lệ nổi lên trên lớp giao diện người dùng. Tránh giải thích các ngoại lệ (ví dụ: không "Không thể cập nhật cơ sở dữ liệu"), hiển thị thông báo ngoại lệ chính xác và dấu vết ngăn xếp.

  • Triển khai trình xử lý cho AppDomain.CurrentDomain.UnhandledException và ghi nhật ký hoặc hiển thị giá trị của e.ExceptionObject. Giúp chẩn đoán các trường hợp ngoại lệ chưa được xử lý. Và giúp bạn tránh được việc ở khắp mọi nơi.

  • Một trăm trường hợp ngoại lệ chưa được xử lý với chẩn đoán tốt sẽ tốt hơn việc bắt một ngoại lệ làm mất ổn định chương trình của bạn vì nó tạo ra dữ liệu không chính xác hoặc khiến các ngoại lệ không liên quan khác bị ném ra.

Về c# - xử lý các ngoại lệ trong .net, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/7928799/

25 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress