Bạn có thể học một lớp học với các phương pháp ngắn để bắt ngoại lệ không?Các lớp học được sử dụng để quản lý ngoại lệ
class ContractUtils{
public static String getCode(Contract contract) throws MyException{
try{
return contract.getInfo().getCode(); //throws ContractException and LogicException
}catch(Exception e){
throw new MyException("error during code reading:"+e.getMessage, e);
}
}
//other methods like above...
}
Đừng quên viết "ném" vào chữ ký của phương thức –
Ehhhh. Các trường hợp ngoại lệ phải được xử lý ngay sau khi bạn có thể trả lời chúng một cách hữu ích. Nói chung không có xu hướng ở một số phương thức tiện ích ngẫu nhiên, nhưng thấp hơn (trong 'contract.getInfo(). GetCode()') hoặc cao hơn (ở cấp ứng dụng nơi bạn có thể tạo ra một thông báo lỗi hữu ích). –
Điều gì xảy ra nếu 'contract.getInfo(). GetCode()' ném ví dụ: 'NullPointerException' hoặc' ArithmeticException'? Chắc chắn trong những tình huống này, bạn sẽ không muốn bắt và ném 'MyException' thay thế? –