tailieunhanh - Giáo trình phân tích ứng dụng nguyên lý testfunc khi thực hiện chia với zero p2

( e) { (“\nDivideByZeroException! Msg: {0}”, ); (“\nHelpLink: {0}”, ); (“\nHere’s a stack trace: {0}\n”, ); } catch { (“Unknown exception caught”); } } // thực hiện phép chia hợp lệ public double DoDivide( double a, double b) { if ( b == 0) { DivideByZeroException e = new DivideByZeroException(); = “”; throw e; } if ( a == 0) { throw new ArithmeticException(); } return a/b; } } } . | public void TestFunc try Open file here double a 12 double b 0 0 1 2 a b DoDivide a b This line may or not print catch e nDivideByZeroException Msg 0 nHelpLink 0 nHere s a stack trace 0 n catch Unknown exception caught thực hiện phép chia hợp lệ public double DoDivide double a double b if b 0 DivideByZeroException e new DivideByZeroException http throw e if a 0 throw new ArithmeticException return a b 377 H Kết quả Open file here DivideByZeroException Msg Attempted to divide by zero HelpLink http Here s a stack trace at Programming Double c Double b in c . line 56 at Programming in . line 22. Close file here Trong đoạn kết quả trên danh sách trace của stack được hiển thị theo thứ tự ngược lại thứ tự gọi. Nó hiển thị một lỗi trong phương thức DoDivde phương thức này được gọi từ phương thức TestFunc . Khi các phương thức gọi lồng nhau nhiều cấp thông tin stack có thể giúp chúng ta hiểu thứ tự của các phương thức được gọi. Trong ví dụ này hơn là việc đơn giản phát sinh một DidiveByZeroException chúng ta tạo một thể hện mới của ngoại lệ DivideByZeroException e new DivideByZeroException Chúng ta không truyền vào thông điệp của chúng ta nên thông điệp mặc định sẽ được in ra DivideByZeroException Msg Attemped to divide by zero. Ở đây chúng ta có thể bổ sung như dòng lệnh bên dưới để truyền vào thông điệp của chúng ta tùy chọn như sau new DivideByZeroException You tried to divide by zero which is not meaningful Trước khi phát sinh ra ngoại lệ chúng ta thiết lập thuộc tính HelpLink như sau http Khi ngoại lệ được bắt giữ chương trình sẽ in thông điệp và HelpLink ra màn hình catch e .

TỪ KHÓA LIÊN QUAN