# OSL string functions

I've read about string functions in OSL lang. specification but it didn't give a clear explanation how to use them correctly.

I'm interested in void warning() and void error() functions. Are there any examples how to use them during the working process?

The 'warning(...)' and 'error(...)' functions behave very similarly to the 'printf' function in that they output strings to the console output.

For example, in this answer the printf function is used to format output to the console using a command as follows :

printf("Point %f,%f,%f\n", P[0], P[1], P[2]);


This outputs the formatted string (with each %f replaced by one of the following arguments) to the console.

The warning(...) and error(...) functions work similarly except each call outputs a line formatted with the work 'WARNING' or 'ERROR' and details of where the function was called from (the shader function) similar to the following :

WARNING: Shader warning [my_shader]: Point -0.320504 -0.812141 0.157532


With the syntax being identical to 'printf' :

warning("Point %f,%f,%f\n", P[0], P[1], P[2]);