2012-03-27 32 views
5

Tôi đang sử dụng các dòng mã sau đây trong tất cả các báo cáo bắt tôi để in lỗi ra cửa sổ Console:Tại sao ngoại lệ BlackBerry của tôi getMessage() trả lại giá trị rỗng?

System.out.println("ERROR MESSAGE " + e.getMessage()); 

Đôi khi, trong giao diện điều khiển, tôi nhận được như sau:

ERROR MESSAGE null 

thế nào nó có thể là null không? Nếu nó đạt đến bắt có nghĩa là một ngoại lệ đã được ném, nhưng tại sao null?

Trả lời

6

Tôi không biết tại sao nó là null, tôi chỉ cho rằng BlackBerry OS và API có rất nhiều hành vi không mong muốn. Tôi giải quyết vấn đề này bằng cách sử dụng

e.toString()

như trong:

catch (Exception e) 
{  
    System.out.println("Exception caught: " + e.toString()); 
} 
+0

e.toString() có vẻ ok cho đến nay, vẫn không thể tìm ra lý do tại sao tin nhắn sẽ là một số thời gian mặc dù. Cảm ơn – PaulG

+5

Không phải tất cả các trường hợp ngoại lệ được ném bởi BlackBerry OS hoặc một số chương trình đặt giá trị tin nhắn, do đó, nó là null theo mặc định. Ít nhất toString() sẽ cung cấp cho bạn tên lớp của ngoại lệ thực sự được ném. Thường thì thế là đủ. – Richard

Các vấn đề liên quan