DEV Community

Discussion on: Say goodbye Trycatch Hell

Collapse
 
gers2017 profile image
Gers2017

Sure, I actually like the golang pattern because is easy to read.
Also I got a different approach by asking about this.

type Result<T> = 
{ result: T, error?: undefined } ||  
{ result?: undefined, error: Error }
Enter fullscreen mode Exit fullscreen mode
async function getUserData(id: number): Promise<Result<UserData>>{
    if(id <= 0){
        return {
            error: new Error("Wrong, id can't be less or equal to zero!!!");
        }
    }
    return {
        result: {name: "Jimmy", age: 22},
    }
}
Enter fullscreen mode Exit fullscreen mode