2012-11-02 21 views
8

Nếu đối tượng không có thuộc tính và tôi đang gọi thuộc tính, chúng tôi đã nhận 'missingPropertyException'. Tôi có thể làm một cái gì đó giống như an toàn null (?.) Cùng một cách cho thiếu tài sản để nó không thông qua trường hợp ngoại lệ?cách tránh thiếuPropertyException

cảm ơn

Trả lời

14

Một lựa chọn sẽ là:

def result = obj.hasProperty('b') ? obj.b : null 

Trong đó sẽ trả về null nếu đối tượng không có tài sản ...

khác sẽ được thêm propertyMissing để bạn lớp học như vậy:

def propertyMissing(name) { 
    null 
} 

Điều này có nghĩa là mọi sự bỏ lỡ ing tài sản sẽ chỉ dẫn đến null.

+0

tuyệt vời! Cảm ơn bạn – latvian

0

Bạn cũng có thể sử dụng try/catch

try 
{ env.GERRIT_TOPIC=GERRIT_TOPIC 
} 
catch (e_val) 
{ echo 'missing GERRIT_TOPIC' 
}