You can use Customer Error pages once any error occurred in your code. In that you don’t have to worry about handling any error at all, you just need to make some changes in we.config which will take care of all things once any error occures.
You just need to desing one page which will show to user once any error occures.
<customErrors mode="On" defaultRedirect="~/frmErrorPage.aspx">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
Once you add this tag in web.config it will take care of all errors.
See this link for same;
http://www.c-sharpcorner.com/UploadFile/akukreja/CustomErrorHandlingASPNET11142005235614PM/CustomErrorHandlingASPNET.aspx
But if you want to show exact exception to user then I think you need to do something different, like you can design one page and use TRY Catch to handle error, and once any error occurs you can handle it in Catch block. In that you can redirect to error page and pass your expection to that page. And you can display the details in that page as it is.
try
{
//You code
}
catch (Exception ex)
{
//Take error in Session value;
Session["Error"] = ex.StackTrace + " " + ex.Message;
Response.Redirect("frmErrorPage.aspx");
//So in that page you can acess Session value and display the error
}