How to catch www stream error

Hi everyone !!

I’m using the www function to load images. I want to be able to handle loading’s error (wrong path for example).

I want to catch this error :
“You are trying to load data from a www stream which had the following error when downloading.
Couldn’t open file C:/blablabla”

I tried

try
{
    myTexture = www.texure;
}
catch
{
    Debug.LogError("Something went wrong");
}

Or

try
{
   myTexture = www.texure;
}
catch (System.Exception e)
{
   Debug.LogError("Something went wrong");
}

But it didn’t work because Unity didn’t throw an exception for this. It only log an error.

So my question is : How can I catch a Unity error to handle it ?

Thanks all for your help !

Gamgie.

Just check the www object for an error.

Unity Docs page for WWW.error

Example (as provided at the above link:

using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    public string url = "invalid_url";
    IEnumerator Start() {
        WWW www = new WWW(url);
        yield return www;
        if (!string.IsNullOrEmpty(www.error))
            Debug.Log(www.error);
        
        renderer.material.mainTexture = www.texture;
    }
}

If you want to only do something if an error has not occurred, then instead of only logging an error if the string is not empty or null, also do something else when it isn’t.

if (string.IsNullOrEmpty(www.error))
{
    // do stuff
}
else
    Debug.Log(www.error);