I have a class and a method within that class. However this class method returns a string. When I call the class method I don\'t get an error even though I\'m not catching
In a word, no. Not by force as such.
It's commonplace to not capture return values. Examples in the core libs abound (adding elements to a Hashset for example, the function actually returns a bool to flag whether it was actually added or if it already existed - depending on individual implementation I may or may not care about that).
Of course, you can always just do something like string str = MyFunction() each time then never use str but I guess you probably already knew that.