At Machine Learning algorithms there are usually inversion process about matrices and sometimes Matlab throws error when Multicollinearity occurs.
Should I check Multicollinearity(and how) everytime before I inverse a Matrix (and use pseudo inverse - pinv)
I think you can just always use the p inverse. If the inverse exists it will be returned, otherwise the p inverse will be returned. The only drawback that I could think of might be performance, but I think it should be OK.
Sidenote: in most cases you should try to avoid calculating the inverse due to potential numerical inaccuracies. For solving systems of linear equations for example, look into
ldivideorrdivide.