Deep Dive into Flutter’s Try and Catch Block!

--

Make a separate dart file with name as error_controller and then write the below code.

import 'package:employee_bloc/models/employee.dart';
import 'package:fpdart/fpdart.dart';

typedef EitherType<T> = Either<String, T>;

typedef FutureEither<T> = Future<EitherType<T>>;

class ErrorController{
FutureEither<Employee> getRequest() async{
try{
return right(
Employee(
employeeId: '123',
employeeName: 'anuj',
employeeDesignation: 'flutter dev',
employeeJoiningDate: DateTime.now(),
employeeLeavingDate: DateTime.utc(2050),
),
);
}catch(e){
return left(e.toString());
}
}
}

After that, you can use the above as,

void getData(){
ErrorController errorController;
final result = await errorController.getRequest();
setState((){
result.fold((l)=> textToShow = l, (r)=> textToShow=r.employeeName);
})
}

--

--