¿Es posible utilizar el operador? y lanzar nueva excepción ()?

Tengo una serie de métodos a continuación:

var result = command.ExecuteScalar() as Int32?;
if(result.HasValue)
{
   return result.Value;
}
else
{
   throw new Exception(); // just an example, in my code I throw my own exception
}

Me gustaría poder usar el operador?? Me gusta esto:

return command.ExecuteScalar() as Int32? ?? throw new Exception();

pero genera un error de compilación.

¿Es posible volver a escribir mi código o solo hay una forma de hacerlo?