Try-catch-finally is an exception handling mechanism in C# that allows graceful handling of runtime errors. The 'try' block contains the code that may throw an exception, the 'catch' block handles specific exceptions, and the 'finally' block ensures cleanup or resource release.