Announcement

Collapse
No announcement yet.

Hỏi về exeption

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C++] Hỏi về exeption

    Em có gặp 1 cái đề bài như sau:
    Dù đã học qua exception trong c++ nhưng khi dịch câu này thì vẫn ko rõ nghĩa của câu này:
    mong giúp em câu làm rõ yêu cầu đề:
    "Create a class with its own operator new. This operator should allocate 10 objects, and on the 11th “run out of memory” and throw an exception. Also add a static member function that reclaims this memory. Now create a main( ) with a try block and a catch clause that calls the memory restoration routine. Put these inside a while loop, to demonstrate recovering from an exception and continuing execution."
    :sogood:

  • #2
    Originally posted by 13520797 View Post
    Em có gặp 1 cái đề bài như sau:
    Dù đã học qua exception trong c++ nhưng khi dịch câu này thì vẫn ko rõ nghĩa của câu này:
    mong giúp em câu làm rõ yêu cầu đề:
    "Create a class with its own operator new. This operator should allocate 10 objects, and on the 11th “run out of memory” and throw an exception. Also add a static member function that reclaims this memory. Now create a main( ) with a try block and a catch clause that calls the memory restoration routine. Put these inside a while loop, to demonstrate recovering from an exception and continuing execution."
    :sogood:
    Em quote ra 4 câu vậy "câu này" là câu nào ?

    Comment


    • #3
      Originally posted by truonganpn View Post
      Em quote ra 4 câu vậy "câu này" là câu nào ?
      Do học ngu nên phát biểu tối nghĩa ạ thầy.là em muốn làm nguyên đoạn văn Câu hỏi của đề bài:nói cho đúng là giải tích đề bài này,chứ từng câu rời thì em dịch vẫn dc ạ

      Comment


      • #4
        Originally posted by 13520797 View Post
        Do học ngu nên phát biểu tối nghĩa ạ thầy.là em muốn làm nguyên đoạn văn Câu hỏi của đề bài:nói cho đúng là giải tích đề bài này,chứ từng câu rời thì em dịch vẫn dc ạ
        Vậy em đã hiểu từng câu rời như thế nào? Trình bày ra để mọi người còn góp ý chỉnh sửa chứ. Chứ quăng nguyên đoạn xong bắt mọi người dịch hết thì đâu có vui nữa, có đó giống dịch vụ dịch thuê rồi.

        Comment


        • #5
          Originally posted by truonganpn View Post
          Vậy em đã hiểu từng câu rời như thế nào? Trình bày ra để mọi người còn góp ý chỉnh sửa chứ. Chứ quăng nguyên đoạn xong bắt mọi người dịch hết thì đâu có vui nữa, có đó giống dịch vụ dịch thuê rồi.
          Dịch:
          Tạo 1 class mà nó tự có toán tử "new".Toán tử này sẽ cấp phát 10 đối tượng,đến cái thứ 11 thì nó sẽ phải báo "hết bộ nhớ" và ném vào exception,đồng thời bổ sung 1 hàm thành viên tĩnh cái mà sẽ phục hồi (cải tạo ) lại phần nhớ này(là cái ở trên).Bây h thì tạo hàm main vs 1 khối try và 1 mệnh đề catch cái mà gọi tới thói quen(chuổi hành động thường xuyên) lấy lại bộ nhớ. Đưa chúng vào vòng lặp while để chứng tỏ (thể hiện) khả năng vượt qua exception và tiếp tục chạy.

          Comment


          • #6
            Mình hiểu yêu cầu của bài này như sau:

            - Định nghĩa một class mới, class này có toán tử new - toán tử new này cấp phát bộ nhớ cho 10 đối tượng, đến cái thứ 11 thì nó quăng ra ngoại lệ "hết bộ nhớ".
            - Định nghĩa một phương thức static để thu hồi lại vùng nhớ đã cấp phát.
            - Trong hàm main, tạo một vòng lặp while(1), Tạo try-catch trong vòng while này .Trong khối try gọi toán tử new, trong khối catch gọi hàm thu hồi vùng nhớ.
            - Mục đích bài là để minh họa cho khả năng 'phục hồi' (recovering) từ exception - chắc ý nó là khối catch được gọi nếu ex xảy ra và 'tiếp tục' (continuing) gây lỗi - sau khi thu hồi vùng nhớ lại có thể cấp phát lại.

            Code:
            while(1) {
                try {
                    invoke_new_op() throw OutOfMemoryException;
                } catch(Exception) {
                    reclaim_mem();
                }
            }

            Comment

            LHQC

            Collapse
            Working...
            X