Exception handling

#[derive(Debug)]
enum VecError {
    NoneError,
    EmptyError,
}

fn throw_when_null_or_empty(vector: Option<Vec<i32>>) -> 
Result<()VecError> {

    if vector == None {
        return Err(VecError::NoneError);
    }
    if vector.unwrap().len() == 0 {
        return Err(VecError::EmptyError);
    }    
    Ok(())  
}

if let Err(err) = throw_when_null_or_empty(None) {
    match err {
        VecError::NoneError  => 
            println!("Vector is not specified!"),
        VecError::EmptyError => 
            println!("Vector is empty!"),
    }        
}    

if let Ok(_) =  throw_when_null_or_empty(Some(vec![5])) {
    println!("No error has occurred!");
}